#USACO20DECBT3. 金币游戏(gold)

金币游戏(gold)

题目背景

原题为 P9957 [USACO20DEC] Stuck in a Rut B

题目描述

Gooby 正在和他的学生们在操场上玩游戏。由于 Gooby 会魔法,所以他把操场变得无穷大了。

操场可以看作是一个由正方形组成的无限大的二维方阵(其实就是方格图),每个方格中有一枚金币。Gooby 有 NN 个学生 (1N50)(1 \le N \le 50) 参与了这个游戏。他们初始时位于不同的方格中,一部分朝向北面,一部分朝向东面。

每过一分钟,每个学生会执行以下操作之一:

  • 如果他当前所在的方格中的金币已经被其他同学拿走了,那么他就停下。
  • 否则就拿走他当前所在方格中的金币,并向他朝向的方向移动一个方格。

注意,每个格子的金币只会被最早到达该格子的学生拿走,之后来的学生都无法拿。

如果多个学生在一次移动中同时移动到了同一个有金币的方格,那么 Gooby 会使用魔法,把一枚金币变成多枚,使得所有在那个时候到达该格子的所有同学都拿到一枚金币,并在下一分钟继续沿他们朝向的方向移动。

简单来说,如果有多个学生同时移动到同一个有金币的方格,那么他们会分别得到一枚金币,然后继续沿着自己的方向走到下一个格子。

请求出每个同学得到的金币数量。当然有些同学永远不会停下,从而得到无限多的金币。

输入格式

输入的第一行包含 NN。以下 NN 行,每行描述一个学生的起始位置,包含一个字符 N(表示朝向北面) 或 E(表示朝向东面),以及两个非负整数 xxyy0x1090\le x\le 10^90y1090\le y\le 10^9)表示方格的坐标。所有 xx 坐标各不相同,所有 yy 坐标各不相同。

为了使方向和坐标尽可能明确,如果一个学生位于方格 (x,y)(x,y) 并向北移动,他会到达方格 (x,y+1)(x,y+1)。如果他向东移动,他会到达方格 (x+1,y)(x+1,y)

输出格式

输出 NN 行。输出的第 ii 行包含输入中的第 ii 个学生得到的金币数量。如果一个学生可以得到无限多的金币,则输出 Infinity

输入输出样例 #1

输入 #1

6
E 3 5
N 5 3
E 4 6
E 10 4
N 11 2
N 8 1

输出 #1

5
3
Infinity
Infinity
2
5

说明/提示

测试点性质

  • 测试点 151-5 中,所有坐标不超过 100100
  • 测试点 6106-10 没有额外限制。