#USACO436. 牛的不在场证明

牛的不在场证明

题目描述

农夫约翰有 NN 头奶牛,每头牛的移动速度都是 1 单位距离/单位时间。

某一天,约翰的牧场中发生了 GG 起奶牛犯罪事件。

每个犯罪事件的作案地点以及作案时间已知。

经调查,约翰确定这些案件系同一牛所为。

数据保证,同一牛完成所有作案理论可行,即至少存在一条合理作案路线,可以让一头牛在每个作案时间位于每个对应作案地点。

为了自证清白,每头奶牛都提供了一个自己的不在场证明,证明自己在某时间位于某地点。

虽然每头牛的不在场证明都是真实的,但是有些牛的不在场证明不足以证明它的清白。

具体来说,对于一头牛,如果存在至少一条合理路线,能够让它既满足在每个作案时间位于每个对应作案地点,也满足在它提供的时间位于它提供的地点,那么它就仍有作案嫌疑。

请你计算,一共有多少牛提供的不在场证明足以证明自己的清白。

输入格式

第一行包含两个整数 G,NG,N

接下来 GG 行,每行包含三个整数 x,y,tx,y,t,表示一次犯罪事件的作案地点为 (x,y)(x,y),作案时间为 tt

接下来 NN行,每行包含三个整数 x,y,tx,y,t表示一头牛提供的不在场证明中提供的地点为 (x,y)(x,y),时间为 t。

输出格式

一个整数,表示能够证明自己清白的奶牛的数量。

2 4
0 0 100
50 0 200
0 50 50
1000 1000 0
50 0 200
10 0 170
2

提示

1G105,1≤G≤10^5,
1N105,1≤N≤10^5,
109x,y109,−10^9≤x,y≤10^9,
0t1090≤t≤10^9

样例解释

一共发生了两起案件:案件 1 的作案地点为 (0,0),作案时间为 100;案件 2 的作案地点为 (50,0),作案时间为 200。

第一头牛提供的不在场证明无法证明它的清白,因为它可以有足够的时间前往案件1 的作案地点作案。

第二头牛提供的不在场证明足以证明它的清白,因为它无法在任何作案时间位于任何作案地点。

第三头牛提供的不在场证明无法证明它的清白,因为它提供的地点和时间就是案件 2 的作案地点和时间。

第四头牛提供的不在场证明足以证明它的清白,虽然它能够在完成案件 1 后前往它提供的地点,并在它提供的时间位于它提供的地点,但是接下来它不可能从它提供的地点出发,并在给定的作案时间抵达案件 2 的作案地点。