페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#5377

소는 풀을 좋아해 1s 256MB

문제

대지주 민재는 지평선이 보일 정도로 굉장히 넓은 목장을 소유하고 있다. 

소들은 목장의 풀을 뜯는 지역을 정사각형 "셀"로 인식하며 목장을 그러한 셀들로 이루어진 

무한한 2D 그리드로 생각합니다. 각 셀은 맛있는 풀로 가득 차 있습니다. 

민재의 N 마리의 소(1≤N≤50)는 각각 다른 셀에서 시작하여 일부는 북쪽을 향하기 시작하고 일부는 동쪽을 향하기 시작합니다.

매시간, 모든 소가

- 현재 셀의 풀을 모두 먹고, 자신이 향하는 방향으로 한 셀 이동합니다.

- 현재 셀의 풀을 이미 다른 소가 먹은 경우 중지합니다.

만약 두 마리의 소가 같은 이동으로 같은 셀로 이동하면 셀을 공유하고 다음 시간에 각자의 방향으로 계속 이동합니다.

각 소가 먹는 풀의 양을 출력하십시오. 일부 소는 절대 멈추지 않기 때문에 무한한 양의 풀을 먹습니다.​


입력

첫 번째 줄에 N이 입력된다. (1≤N≤50)​

두 번째 줄부터 N줄에 걸쳐 "방향 x y" 형태로 입력이 들어온다. (0≤x≤109, 0≤y≤109)​​

방향은 N(북향) 또는 E(동향) 문자가 주어지고, x와 y는 두 개의 음이 아닌 정수로 소의 시작 위치 좌표를 의미한다.

모든 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

출처

USACO 2020 December Bronze

로그인해야 코드를 작성할 수 있어요.