P2994 [USACO10OCT] Dinner Time S

题目描述

农场主约翰的 $N$($1 \le N \le 10 ^ 3$)头奶牛被编号为 $1 \sim N$,它们正在保加利亚参加 IOI。奶牛们喜欢保加利亚的太阳并享受着它们的假日,一切看起来都没问题。 变化发生在晚餐时间前后。这家餐馆很小,只有 $M$($1 \le M \le N$)个座位,编号为 $1 \sim M$。每头牛从一个位置 $CX_i$,$CY_i$ 进入餐馆($-10 ^ 6 \le CX_i \le 10 ^ 6,-10 ^ 6 \le CY_i \le 10 ^ 6$);座位可以在 $SX_j$,$SY_j$ 找到($-10 ^ 6 \le SX_j \le10 ^ 6,-10 ^ 6\le SY_j\le 10 ^ 6$)。 奶牛有一种非常有效的(尽管很原始)方法把自己分配到座位上。一旦某只奶牛确定她会先到某个座位上,她就会尽快赶到那里(所有的奶牛都跑得一样快)。 农场主约翰的奶牛和所有获奖的奶牛一样,跳过座位、桌子或其他奶牛都没有问题,因此它们可以直线奔跑。当多头牛可以同时到达一个座位时,最老的牛(在输入数据中出现得更早的牛)获得座位。当一头牛可以第一个到达多个座位时,她也会选择在输入中最早出现的座位。 一些奶牛将不能吃晚饭,这些吃不到饭的饥饿的奶牛正集体计划偷农场主约翰自己的食物。农场主约翰想要一份他应该提防的奶牛名单。(如果没有饥饿的奶牛,则输出 $0$)。你能帮他吗? 注:在计算中可能会有超过 $32$ 位整数范围但在 $64$ 位整数范围内的数。 ------------

输入格式

第一行:两个空格分隔的整数:$N$ 和 $M$。 第 $2 \sim N + 1$ 行:第 $i+1$ 行包含两个空格分隔的整数:$CX_i$ 和 $CY_i$。 第 $N+2 \sim N+M+1$ 行:行 $j+N+1$ 包含两个空格分隔的整数:$SX_j$ 和 $SY_j$。 ------------

输出格式

第 $1$ 行到第 $(N-M)$ 行:第 $i$ 行包含农场主约翰应该提防的第 $i$ 头牛的编号。奶牛的编号应递增排序。

说明/提示

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.