蚂蚁吃糖
测试数据来自 system/2906
作业已超过截止时间,您无法递交本题目。
时间限制:1秒 内存限制:256M
【题目描述】
在一个由正方形方格组成的无限大二维方阵,每个方格中均有糖(将每个方格看作是棋盘上的一个方格)。由 \(N\) 只蚂蚁\((1≤N≤50)\)初始时位于不同的方格中,一部分朝向北面,一部分朝向东面。
每一小时,每只蚂蚁会执行以下二者之一:
如果她当前所在的方格里的糖已经被其他蚂蚁吃掉了,则她会停下。
吃完她当前所在的方格中的所有糖,并向她朝向的方向移动一个方格。
经过一段时间,每只蚂蚁的身后会留下一条轨迹。
如果两只蚂蚁在一次移动中移动到了同一个有糖的方格,她们会分享这个方格中的糖,并在下一个小时继续沿她们朝向的方向移动。
请求出每只蚂蚁吃到的糖的数量。有些蚂蚁永远不会停下,从而吃到无限多的糖。
【输入格式】
输入的第一行包含 \(N\)。以下 \(N\) 行,每行描述一只蚂蚁的起始位置,包含一个字符 N(表示朝向北面) 或 E(表示朝向东面),以及两个非负整数 \(x\) 和 \(y(0≤x≤10^9 ,0≤y≤10^9)\)表示方格的坐标。所有 \(x\) 坐标各不相同,所有 \(y\) 坐标各不相同。
为了使方向和坐标尽可能明确,如果一只蚂蚁位于方格 \((x,y)\) 并向北移动,她会到达方格 \((x,y+1)\)。如果她向东移动,她会到达方格 \((x+1,y)\)。
【输出格式】
输出 \(N\) 行。输出的第 \(i\) 行包含输入中的第 \(i\) 只蚂蚁吃到糖的方格的数量。如果一只蚂蚁可以吃到无限多的糖,为这只蚂蚁输出 Infinity。
【输入输出样例】
Input
6
E 3 5
N 5 3
E 4 6
E 10 4
N 11 2
N 8 1
Output
5
3
Infinity
Infinity
2
5
【测试点性质】
测试点 2−5 中,所有坐标不超过 100。
测试点 6−10 没有额外限制。
【来源】
Mr.he