각 캠프에서 두 개씩 나가는 일일 투어를 모두 한 번씩 타고 캠프 1로 돌아오는 경로 중 대기 시간까지 포함해 가장 짧은 시간을 구한다.
보통7그래프동적 계획법비트 연산그리디아직 제출이 없습니다시간 제한5초메모리 제한512 MB에베레스트 정상에 올라와 있고, 그곳에 있는 하이킹 투어를 전부 즐기려고 한다. 혼자 돌아다니면 해가 진 뒤에 길을 잃기 쉬우니, 정해진 시각에 출발하는 가이드 투어로만 이동한다.
산에는 캠프가 C개 있고 1번부터 C번까지 번호가 붙어 있다. 일방통행 하이킹 투어는 2×C개이고 1번부터 2×C번까지 번호가 붙어 있다. 각 투어는 한 캠프에서 출발해 다른 캠프에서 끝나며, 중간에 다른 캠프를 지나지 않는다. 에베레스트는 사람이 적어 장사가 한산하다. 캠프마다 출발하는 투어가 정확히 2개, 도착하는 투어가 정확히 2개다.
모든 투어는 매일 운행한다. 1번과 2번 투어는 1번 캠프에서 출발하고, 3번과 4번 투어는 2번 캠프에서 출발한다. 일반적으로 2×i−1번 투어와 2×i번 투어가 i번 캠프에서 출발한다. i번 투어는 Ei번 캠프에서 끝나고, Li시에 출발하며, 운행 시간은 정확히 Di시간이다.
지금은 0시이고, 하루의 시각은 0시부터 23시까지다. 현재 위치는 1번 캠프이고, 모든 투어를 정확히 한 번씩 타고 1번 캠프로 돌아오려고 한다. 투어가 아닌 방법으로 캠프 사이를 이동할 수는 없다. 캠프에서는 0시간을 포함해 원하는 만큼 정수 시간을 기다릴 수 있지만, 투어는 출발하는 그 시각에만 탈 수 있다.
목표를 달성하는 경로는 반드시 존재하고, 그중 가장 빠른 경로를 찾고 싶다. 경로를 최적으로 짜면 모든 투어를 마치는 데 몇 시간이 걸리는가?
첫 줄에 테스트 케이스의 수 T가 주어진다. 이어서 T개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄에는 캠프의 수 C가 주어진다. 그다음 2×C개의 줄이 주어지는데, 1부터 세어 i번째 줄은 ⌊(i+1)/2⌋번 캠프에서 출발하는 투어를 나타내고 세 정수 Ei, Li, Di로 이루어진다. 이 형식에 따라 캠프마다 출발하는 투어는 정확히 2개다.
제한
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 목표를 달성하는 데 필요한 최소 시간이다.
예제의 첫 번째 테스트 케이스에서 최적 계획은 다음과 같다.
이렇게 하면 1일 8시간, 즉 32시간이 걸린다. 다른 계획은 모두 이보다 오래 걸린다.
두 번째 테스트 케이스에서는 모든 투어의 출발 시각과 운행 시간이 같다. 투어 하나를 마치면 다음 투어를 곧바로 탈 수 있다. 그 테스트 케이스에 나온 순서대로 투어에 1번부터 8번까지 번호를 붙이면, 최적 계획 하나는 1, 5, 4, 7, 6, 2, 3, 8이다.