공항 사이 항공편 수가 주어질 때, ICN에서 출발해 임의로 K번 이동한 뒤 도착 확률이 가장 높은 공항을 구한다.
보통5확률동적 계획법그래프아직 제출이 없습니다시간 제한3초메모리 제한256 MB상일이는 여행을 즉흥적으로 떠난다. 한 번의 여정은 다음과 같이 진행된다.
한 번의 여행은 정확히 K번의 여정으로 이루어지고, 출발 공항은 언제나 ICN이다. 출발하는 항공편이 하나도 없는 공항도 있어서, 그런 공항에 도착하면 여정을 더 이어갈 수 없다.
여행 코스는 K번의 여정 동안 상일이가 지나는 공항을 순서대로 적은 것이다. 코스의 확률은 각 여정에서 그 항공편을 고를 확률을 모두 곱한 값이다. K번의 여정을 모두 마치는 코스 가운데 확률이 가장 높은 코스의 마지막 공항을 구하라. 그런 코스는 항상 존재한다.
첫째 줄에 테스트 케이스의 수 T가 주어진다. (1≤T≤10)
각 테스트 케이스의 첫째 줄에 공항의 수 N과 한 번의 여행에서 해야 하는 여정의 수 K가 주어진다. (2≤N≤100, 1≤K≤1000)
다음 N개 줄에는 각 공항의 IATA 코드가 한 줄에 하나씩 주어진다. 코드는 알파벳 대문자 세 글자로 이루어지고 서로 다르며, 이 가운데 하나는 ICN이다.
다음 N개 줄에는 각 줄에 N개의 정수가 주어진다. i번째 줄의 j번째 정수 Sij는 i번 공항에서 출발해 j번 공항에 도착하는 항공편의 수이다. (0≤Sij≤100, Sii=0) i번 공항에서 출발하는 항공편은 모두 Si1+Si2+⋯+SiN편이므로, 상일이가 i번 공항에서 j번 공항으로 갈 확률은 Sij를 이 합으로 나눈 값이다.
각 테스트 케이스마다 확률이 가장 높은 여행 코스의 마지막 공항의 IATA 코드를 한 줄에 출력한다. 확률이 가장 높은 코스가 여럿이고 마지막 공항이 서로 다르면, 그 공항의 코드 가운데 사전순으로 가장 앞선 것을 출력한다.