题目名称 3516. [USACO20Dec Bronze]Stuck in a Rut
输入输出 stuck.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatar数声风笛ovo 于2021-01-06加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:0, 提交:1, 通过率:0%
Gravatar┭┮﹏┭┮ 0 0.000 s 0.00 MiB C++
关于 Stuck in a Rut 的近10条评论(全部评论)

3516. [USACO20Dec Bronze]Stuck in a Rut

★   输入文件:stuck.in   输出文件:stuck.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

Farmer John 最近扩大了他的农场,从奶牛们的角度看来这个农场相当于是无限大了!奶牛们将农场上放牧的区域想作是一个由正方形方格组成的无限大二维方阵,每个方格中均有美味的草(将每个方格看作是棋盘上的一个方格)。Farmer John 的 $N$ 头奶牛($1\le N\le 50$)初始时位于不同的方格中,一部分朝向北面,一部分朝向东面。

每一小时,每头奶牛会执行以下二者之一:

  • 如果她当前所在的方格里的草已经被其他奶牛吃掉了,则她会停下。
  • 吃完她当前所在的方格中的所有草,并向她朝向的方向移动一个方格。

经过一段时间,每头奶牛的身后会留下一条被啃秃了的轨迹。

如果两头奶牛在一次移动中移动到了同一个有草的方格,她们会分享这个方格中的草,并在下一个小时继续沿她们朝向的方向移动。

请求出每头奶牛吃到的草的数量。有些奶牛永远不会停下,从而吃到无限多的草。

【输入格式】

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

为了使方向和坐标尽可能明确,如果一头奶牛位于方格 $(x,y)$ 并向北移动,她会到达方格 $(x,y+1)$。如果她向东移动,她会到达方格 $(x+1, y)$。

【输出格式】

输出 $N$ 行。输出的第 $i$ 行包含输入中的第 $i$ 头奶牛吃到草的方格的数量。如果一头奶牛可以吃到无限多的草,为这头奶牛输出 "Infinity"。

【样例输入】

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

【样例输出】

5
3
Infinity
Infinity
2
5

【数据规模与约定】

对于$ 50\% $的测试数据(测试点$ 1\sim5 $),所有坐标不超过 $100$。

对于$ 100\% $的测试数据,均满足上文所给出的数据规模。

【来源】

USACO 十二月公开赛 Bronze 组