#P2994. [USACO10OCT] Dinner Time S
[USACO10OCT] Dinner Time S
题目描述
Farmer John's N (1 <= N <= 1,000) cows conveniently numbered 1..N are participating in the IOI in Bulgaria. The cows like the Bulgarian sun and are enjoying their holiday. All seems well.
This changes around dinner time. The restaurant is rather small, having only M (1 <= M <= N) cow seats conveniently numbered 1..M. Each cow starts at a location CX_i, CY_i (-1,000,000 <= CX_i <= 1,000,000; -1,000,000 <= CY_i <= 1,000,000); the seats can be found at SX_j, SY_j (-1,000,000 <= SX_j <= 1,000,000; -1,000,000 <= SY_j <= 1,000,000).
The cows have a very efficient (though primitive) method to distribute themselves into the seats. As soon as a cow is certain she will get to a seat first, she rushes there as fast as she can (all cows runs equally fast).
Farmer John's cows, like all prize cows, have no problem jumping over seats, tables, or other cows, so they can run in a straight line. When multiple cows can reach a seat at the very same time, the oldest cow (the one appearing earlier in the input data) gets the seat. Likewise, when a cow can be the first to reach multiple seats she will also choose the one appearing earliest in the input.
Some cows won't be able to eat dinner, and those hungry cows are collectively planning to steal Farmer John's very own food. Farmer John would like a list of cows he should be wary of. (In the case when there are no hungry cows, output 0). Can you help him?
NOTE: Standard distance calculations will likely require an
intermediate result that will fit into a 64-bit integer but not into a 32-bit integer.
输入格式
* Line 1: Two space-separated integers: N and M
* Lines 2..N+1: Line i+1 contains two space separated integers: CX_i and CY_i
* Lines N+2..N+M+1: Line j+N+1 contains two space separated integers: SX_j and SY_j
输出格式
* Lines 1..N-M: Line i contains the number of the ith cow that Farmer John should be wary of. The cow numbers should be listed in increasing order.
题目大意
题目描述
农场主约翰的 ()头奶牛被编号为 ,它们正在保加利亚参加 IOI。奶牛们喜欢保加利亚的太阳并享受着它们的假日,一切看起来都没问题。
变化发生在晚餐时间前后。这家餐馆很小,只有 ()个座位,编号为 。每头牛从一个位置 , 进入餐馆($-10 ^ 6 \le CX_i \le 10 ^ 6,-10 ^ 6 \le CY_i \le 10 ^ 6$);座位可以在 , 找到($-10 ^ 6 \le SX_j \le10 ^ 6,-10 ^ 6\le SY_j\le 10 ^ 6$)。
奶牛有一种非常有效的(尽管很原始)方法把自己分配到座位上。一旦某只奶牛确定她会先到某个座位上,她就会尽快赶到那里(所有的奶牛都跑得一样快)。
农场主约翰的奶牛和所有获奖的奶牛一样,跳过座位、桌子或其他奶牛都没有问题,因此它们可以直线奔跑。当多头牛可以同时到达一个座位时,最老的牛(在输入数据中出现得更早的牛)获得座位。当一头牛可以第一个到达多个座位时,她也会选择在输入中最早出现的座位。
一些奶牛将不能吃晚饭,这些吃不到饭的饥饿的奶牛正集体计划偷农场主约翰自己的食物。农场主约翰想要一份他应该提防的奶牛名单。(如果没有饥饿的奶牛,则输出 )。你能帮他吗?
注:在计算中可能会有超过 位整数范围但在 位整数范围内的数。
输入格式
第一行:两个空格分隔的整数: 和 。
第 行:第 行包含两个空格分隔的整数: 和 。
第 行:行 包含两个空格分隔的整数: 和 。
输出格式
第 行到第 行:第 行包含农场主约翰应该提防的第 头牛的编号。奶牛的编号应递增排序。
2 1
0 1
1 0
1 10
2
提示
2 cows: Cow 1 starts at (0, 1) and cow 2 at (1, 0). There
is only 1 seat at (1, 10).
Cow 1 is closer to the seat than cow 2, so cow 1 will get the only seat.