가희와 신칸센 1

시간 제한1초메모리 제한512 MB

요약
도카이도 신칸센에서 정차한 역 목록이 주어질 때, 어느 등급(kodama, hikari, nozomi)인지 판별하거나 가장 작은 번호의 오류 코드를 출력한다.
난이도

보통10점 중 7점

유형
구현, 시뮬레이션, 문자열, 완전 탐색
정답자
아직 제출이 없습니다

문제

실제 도카이도 신칸센의 요금과 다름에 주의하세요.

도카이도 신칸센은 Tokyo 역에서부터 Shin-Osaka 역까지 500km500km가 넘는 구간을 이어주는 노선입니다. Shin-Osaka 역에서 산요 신칸센과 직결됩니다. 해당 노선에는 등급이 낮은 순서대로 kodama, hikari, nozomi가 운행합니다. kodama는 시발역부터 종착역까지 거치는 모든 역에 정차하며, 상위 등급의 nozomi와 hikari는 통과하는 역이 있습니다.

역명hikarinozomi위치운임 거리실 거리
TokyoOO도쿄도 치요다구00
ShinagawaOO도쿄도 미나토구6.86.8
Shin-YokohamaOO가나가와현 요코하마시 코호쿠구28.825.5
Odawara△가나가와현 오다와라시83.976.7
Atami△시즈오카현 아타미시104.695.4
Mishima△시즈오카현 미시마시120.7111.3
Shin-Fuji시즈오카현 후지시146.2135.0
Shizuoka△시즈오카현 시즈오카시 아오이구180.2167.4
Kakegawa시즈오카현 카케가와시229.3211.3
Hamamatsu△시즈오카현 하마마츠시 주오구257.1238.9
Toyohashi△아이치현 토요하시시293.6274.2
Mikawa-Anjo아이치현 안조시336.3312.8
NagoyaOO아이치현 나고야시 나카무라구366.0342.0
Gifu-Hashima△기후현 하시마시396.3367.1
Maibara△시가현 마이바라시445.9408.2
KyotoOO교토부 교토시 시모교구513.6476.3
Shin-OsakaOO오사카부 오사카시 요도가와구552.6515.4
이후 산요 신칸센과 직결

[표 1] 도카이도 신칸센 역 정보

[표 1]은 도카이도 신칸센 노선에 있는 역 정보를 의미합니다. Nagoya 역을 기준으로 Tokyo 역 방면으로 운행하면 동행, Shin-Osaka 방면으로 운행하면 서행으로 운행한다고 합니다. nozomi 열과 hikari 열은 해당 등급 열차의 정차 정보를 의미합니다. O는 전부 정차를 의미하며, △는 선택 정차, 공백은 모두 통과를 의미합니다.

운임 거리란 운임 계산을 하기 위해 쓰이는 거리이고, 실거리는 실제 열차가 운행한 거리를 의미합니다. 이 두 거리가 [표 1]의 맨 끝 두 열에 있는데, 이는 Tokyo 역으로부터 누적 운임 거리와 누적 실거리를 나타내며, 단위는 kmkm입니다. 도카이도 신칸센의 운임은 아래와 같이 계산됩니다.

  • Tokyo ~ Shinagawa 구간의 경우 일반선 요금이 적용됩니다.
  • 그 외의 경우 고속선 요금이 적용됩니다.
    • 단, Shin-Yokohama ~ Shinagawa 구간의 경우, 모든 등급이 kodama 등급의 요금으로 계산됩니다.

등급별 고속선과 일반선 요율은 [표 2]와 같습니다.

등급고속선 요율일반선 요율
kodama300원/km200원/km
hikarikodama 등급의 1.1배
nozomikodama 등급의 1.2배

[표 2] 도카이도 신칸센의 등급별 요금

큰 도시로 출퇴근하는 사람들을 위해 일부 역에 시발하거나, 종착하는 경우가 있습니다. 아래 [표 3]은 시발, 종착, 혹은 둘 다 할 수 있는 역을 나타냅니다. 비고에 시발이 적혀 있는 경우 시발만 가능하며, 종착이 적혀 있는 경우 종착만 가능합니다. 없는 경우, 둘 다 가능한 역입니다.

역명비고
Tokyo
Shinagawa시발
Shin-Yokohama시발
Mishima시발
Shizuoka
Hamamatsu
Nagoya
Shin-Osaka

[표 3] 시발하거나 종착이 가능한 역 목록들

[표 3]에 등장하는 역들에서는, 항상 정차하는 등급의 열차들만 시발하거나 종착합니다. Mishima 역에서 출발하는 열차는 동행으로만 운행하며, Nagoya 역에 시발하거나 종착하는 열차는 아래 조건을 만족합니다.

  • Shin-Osaka 역에 시발하지도 않고, 종착하지도 않습니다.

hikari 등급의 정차 패턴은 Shin-Yokohama ~ Nagoya 구간 (1구간)과 Nagoya ~ Kyoto 구간 (2구간), 즉 두 구간의 정차 패턴을 가지고 알 수 있습니다. 먼저 11구간의 Rapid 패턴은 다음 세 조건 중 하나 이상을 만족합니다.

  • 구간의 시작 역과 끝 역을 제외하고, 22개 이하의 역에 정차합니다.
  • 무정차 거리가 200km200km 이상입니다.
  • 시즈오카시에 있는 역에 정차하지 않습니다.

그렇지 않으면 1구간에서 Normal 패턴입니다. 2구간에서 Rapid 패턴은 다음 조건을 만족합니다.

  • 2구간에서 nozomi 등급의 열차와 정차 패턴이 같습니다.

그렇지 않으면 2구간에서 Normal 패턴입니다.

또한, 해당 구간을 운행하는 모든 hikari 등급의 열차는 아래 조건을 추가로 만족합니다.

  • Maibara 역에 정차하지 않으면, Gifu-Hashima 역에 정차하지 않습니다.

hikari 등급의 열차가 정차할 수 있는 패턴은 [표 4]와 같습니다.

패턴1구간2구간비고
1RapidNormaltype 1 hikari
2NormalRapidtype 2 hikari
3NormalNormal변칙 hikari
4그 외의 경우나올 수 없음

[표 4] 2개의 구간에서 hikari 등급의 정차 패턴

또한, 2구간을 운행하지 않는 경우, 1구간에서 Rapid 패턴으로 운행하지 않습니다. 또한 모든 열차는 다음 조건을 만족합니다.

  • 시발역에서 종착역까지 운임이 5,0005\\,000원 이상입니다. 고속선 요금이 적용되는 구간에서만 운행하는 경우, 시발역에서 종착역으로 이동하는 데 드는 비용은 33,00033\\,000원 이상입니다.
  • 시발역에서 종착역까지 하위 등급의 열차와 정차역 패턴이 같지 않습니다.

가희는 신칸센을 QQ번 탔습니다. 각각에 대해 운행 정보가 주어졌을 때, 어느 등급을 탔는지 알려주세요.

입력

첫 번째 줄에 QQ가 주어집니다.

다음에 QQ개의 운행 정보가 주어집니다. 각 운행 정보는 아래와 같이 주어집니다.

  • 첫 번째 줄에 정차한 역의 수 nn이 주어집니다.

  • 다음 nn개의 줄에 정차한 역의 정보가 주어집니다. ii번째로 주어진 역은, ii번째로 정차한 역임을 의미합니다. 역의 정보는 두 형식 중 하나로 주어집니다.

    • {station_name}
    • {station_name} station

또한 운행 정보는 다음을 만족합니다. 정차한 역의 수가 nn이고, ii번째로 정차한 역 s_is\_{i}와 i+1i+1번째로 정차한 역 s_i+1s\_{i+1}에 대해 (1≤i<n1 ≤ i < n)

  • 두 역이 서로 다른 역이라면, s_is\_{i}번 역을 출발하여 s_i+1s\_{i+1}번째 역에 도착할 때까지 어떠한 곳에도 정차하지 않으며, 진행 방향을 바꾸지 않습니다.
  • 두 역이 도카이도 신칸센 노선에 있으면, s_is\_{i}번 역을 출발하여 s_i+1s\_{i+1}번째 역에 도착할 때까지 도카이도 신칸센 외 다른 노선을 경유하지 않습니다.

출력

QQ개의 줄에 걸쳐, 아래와 같이 출력해 주세요.

  • 주어진 데이터에 오류가 있다면 아래 포맷으로 출력해 주세요. error_id는 [표 5]의 케이스에 대응되며, 오류가 발생하는 케이스가 여러 개인 경우 가장 작은 idid 값을 출력해 주세요.
    • ERROR {error_id}
  • 그렇지 않으면, 운행 정보에 맞는 열차 등급을 출력해 주세요. 열차 등급은 kodama, hikari, nozomi 중 하나입니다.
id케이스
200도카이도 신칸센 노선에 없는 역이 나온 경우
300같은 역을 2번 이상 방문한 경우
400시발역에서 종착역으로 가는 도중 열차의 진행 방향이 1번 이상 바뀐 경우
500나올 수 없는 운행 패턴인 경우
600둘 이상의 등급이 해당 운행 패턴으로 운행할 수 있는 경우

[표 5] 에러 코드

역 이름이 동일하면 같은 역으로 취급합니다. 또한 역 이름은 대소문자를 구별합니다.

제한

  • 1≤Q≤5001 ≤ Q ≤ 500
  • 2≤n≤502 ≤ n ≤ 50
  • {station_name}은 알파벳 대소문자와 공백, 숫자로만 이루어져 있으며, 길이는 5050을 넘지 않습니다.
  • {station_name}은 문자열 station으로 끝나지 않습니다.

예제5

  1. 예제 1

    입력
    2
    4
    Tokyo
    Shinagawa
    Shin-Yokohama
    Nagoya
    2
    Nagoya
    Shin-Yokohama
    
    예상 출력
    nozomi
    ERROR 500
    
  2. 예제 2

    입력
    2
    5
    Tokyo
    Shinagawa
    Shin-Yokohama
    Shinagawa
    Tokyo
    2
    10 years
    sakura
    
    예상 출력
    ERROR 300
    ERROR 200
    
  3. 예제 3

    입력
    3
    6
    Tokyo
    Shinagawa
    Shin-Yokohama station
    Nagoya
    Kyoto station
    Shin-Osaka
    3
    Candy
    Candy
    kyary pamyu pamyu
    5
    Tokyo station
    Shinagawa station
    Kyoto
    Shin-Osaka station
    Nagoya
    
    예상 출력
    nozomi
    ERROR 200
    ERROR 400
    
  4. 예제 4

    입력
    2
    13
    Tokyo
    Shinagawa
    Shin-Yokohama
    Odawara
    Atami
    Mishima
    Shin-Fuji
    Shizuoka
    Kakegawa
    Hamamatsu
    Toyohashi
    Mikawa-Anjo
    Nagoya
    11
    Tokyo
    Shinagawa
    Shin-Yokohama
    Atami
    Shizuoka
    Hamamatsu
    Nagoya
    Gifu-Hashima station
    Maibara
    Kyoto
    Shin-Osaka
    
    예상 출력
    kodama
    hikari
    
  5. 예제 5

    입력
    2
    2
    Tokyo
    Hakata world
    6
    Rapit
    Thunder bird
    sender bird
    sonic
    hakuto
    love like this
    
    예상 출력
    ERROR 200
    ERROR 200