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

#4116

Measuring Traffic 2s 512MB

문제

농부 존의 농장 옆 고속도로는 최근 교통량이 급증한 것처럼 보인다. 적어도 농부 존에게는 그렇게 보인다. 이를 확실히 하기 위해 그는 고속도로의 교통 흐름을 측정하기 위해 센서 세트를 설치하고자 한다. 각 센서는 도로 구간에 따른 교통 흐름 속도를 측정할 수 있다.

불행히도, 어느 날 농부 존이 헛디디며 창고를 지나가다 센서가 들어있는 상자를 큰 우유통에 떨어뜨렸다. 그 이후로 센서들은 예전처럼 정확히 작동하지 않는다. 각 센서는 이제 교통 흐름 속도의 정확한 값을 하나만 출력하는 대신, 가능한 값의 범위를 출력한다. 예를 들어, 센서가 범위 [7, 13]을 출력하면, 해당 도로 구간의 교통 흐름 속도가 최소 7보다 크거나 같고, 최대 13보다 작거나 같다는 의미이다.

고속도로는 농장 옆으로 N마일 이어지며, 고속도로의 교통 흐름은 오직 한 방향, 즉 1마일에서 N마일까지 흐른다. 농부 존은 N개의 센서를 설치하려고 한다. 고속도로의 각 1마일 구간에 하나씩 설치될 예정이다. 일부 구간에는 교통이 고속도로에 진입할 수 있는 온램프가 있다. 이런 구간에는 농부 존이 센서를 온램프에 설치하여 (대략적으로) 들어오는 교통량을 측정한다. 또 다른 구간에는 교통이 고속도로를 떠날 수 있는 오프램프가 있다. 이런 경우 농부 존은 센서를 오프램프에 설치한다. 각 구간에는 최대 하나의 램프만 있다. 만약 온램프나 오프램프가 없는 구간이라면, 농부 존은 고속도로 자체에 센서를 설치한다.

농부 존의 N개 센서에서 받은 측정값을 바탕으로, 고속도로에서 1마일 전과 N마일 이후에 교통 흐름 속도를 설명하는 가장 구체적인 가능한 범위를 구하시오. 이 범위들은 모든 N개의 센서 측정값과 일치해야 한다.


입력

입력의 첫 번째 줄에는 N이 주어진다 (1 ≤ N ≤ 100). 그 후의 N개의 줄은 고속도로의 각 1마일 구간을 설명한다. 각 줄은 "on" (이 구간에 온램프가 있는 경우), "off" (이 구간에 오프램프가 있는 경우), 또는 "none" (램프가 없는 경우) 중 하나의 문자열과, 해당 구간의 센서 범위의 하한과 상한을 나타내는 두 개의 정수를 포함한다. 이 두 정수는 0부터 1000까지의 범위에 있다. 만약 구간에 램프가 있다면, 센서 읽기는 램프에서 측정된 값이다. 그렇지 않으면 고속도로 본선에서 측정된 값이다. 고속도로 구간 중 적어도 하나는 "none"으로 지정된다.


출력

출력의 첫 번째 줄에는 1마일 이전의 교통 흐름 속도에 대해 가능한 가장 구체적인 범위를 나타내는 두 정수를 출력해야 한다. 두 번째 줄에는 N마일 이후의 교통 흐름 속도에 대해 가능한 가장 구체적인 범위를 나타내는 두 정수를 출력해야 한다. 유효한 해답은 항상 존재한다고 보장된다.


예제

4
on 1 1
none 10 14
none 11 15
off 2 3
10 13
8 12

이 예시에서는 2번과 3번 구간의 측정값을 결합하면, 이 구간의 교통 흐름 속도가 [11, 14] 범위에 있음을 알 수 있다. 왜냐하면 이 범위만이 [10, 14]와 [11, 15] 측정값 모두와 일치하기 때문이다. 1번 구간에서는 온램프를 통해 정확히 1 단위의 교통량이 진입하므로, 1마일 이전의 교통 흐름 속도는 [10, 13] 범위여야 한다. 4번 구간에서는 2에서 3 단위의 교통량이 오프램프를 통해 빠져나가므로, 그 이후의 교통 흐름 속도는 [8, 12] 범위로 가능한 범위가 된다.



출처

USACO 2019 February Bronze

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