Nonary Game은 같은 이름의 비디오 게임 3 부작에서 재생되는 가상의 게임입니다. 당신의 목표는 가능한 적은 수의 코드로 주어진 게임을 탈출 할 수있는 플레이어 수를 찾는 것입니다.
게임의 규칙
- 1에서 9까지 번호가 9 인 플레이어가 있습니다.
- 모든 플레이어는 같은 방에서 시작합니다.
- 문은 1 ~ 9 개로 제한되어 있습니다. 문 번호가 중복되거나 누락되었을 수 있습니다.
- 문은 방 사이의 단방향 연결입니다. 각 문은 한 번만 사용할 수 있습니다 .
- 3 ~ 5 명의 플레이어 그룹 만 출입 할 수 있습니다.
- 모듈로 9의 숫자 의 합이 문의 모듈로 9 와 일치하면 그룹은 문을 통과 할 수 있습니다 .
- 9 문을 통과 한 플레이어는 탈출합니다 (승).
예
┌───┬───┬───┐
│ 6 4 9
│ < │ | |
│ 3 5 9
└───┴───┴───┘
<
시작점을 나타냅니다. 모든 플레이어가 그곳에서 시작합니다.
이 설정에서는 모든 사람이 탈출 할 수 있습니다. 이를 달성하는 다양한 방법이 있습니다. 그 중 하나는 다음과 같습니다.
- [1, 2, 3, 4, 5]는 6 번 문 ((1 + 2 + 3 + 4 + 5) % 9 = 6)을 통과하지만 [6, 7, 8, 9]는 3 번 문 ((6 + 7 + 8 + 9) % 9 = 3). 모두가 두 번째 방에서 만납니다.
- [1, 2, 3, 7]은 문 4를 통과하고 [4, 5, 6, 8, 9]는 문 5를 통과합니다.
- [1, 2, 3, 4, 8]은 9 개의 문 중 하나를 통과하고 [5, 6, 7, 9]는 다른 하나를 통과합니다.
┌───┬───┐
│ │ |
│ < 8 9
│ │ |
└───┴───┘
이번에는 최대 4 명이 탈출 할 수 있습니다.
- [1, 3, 5, 8, 9]는 8 번 문을 통과합니다.
- [1, 3, 5, 9] 9 번 문을 통과합니다.
[2, 3, 4] 또는 [1, 4, 6, 7]과 같은 다른 생존자 목록도 가능하지만 4 명 이상이 탈출 할 수는 없습니다.
도전
맵이 주어지면 탈출 할 수있는 최대 플레이어 수를 출력하십시오.
- 걱정하지 마십시오. 끔찍한 다이어그램을 파싱 할 필요가 없습니다! 입력은 레이블이 지정된 직접 그래프로, 편리한 형식 (가장자리 세트, 인접 행렬 ...)으로 나타낼 수 있습니다.
- 표현에 방 레이블이 필요한 경우 일관된 값 세트를 사용할 수 있습니다. 그러나 문은 정수 1-9로 표시해야합니다.
- 입력에는 항상 하나 이상의 9 도어가 있습니다. 9 개의 문은 항상 출구로 이어지는 반면 다른 문은 항상 출구로 이어집니다.
- 제출물은 기능 또는 전체 프로그램 일 수 있습니다.
- 표준 허점 은 금지되어 있습니다.
테스트 사례
입력은 [방에서 방으로] 트리플렛의 목록으로 표시되며 0은 시작 방이고 -1은 출구입니다. 다른 형식을 사용하기로 선택한 경우 적절하게 변환해야합니다.
Input Output
[[6, 0, 1], [3, 0, 1], [4, 1, 2], [5, 1, 2], [9, 2, -1], [9, 2, -1]] 9
[[8, 0, 1], [9, 1, -1]] 4
[[9, 0, -1]] 5
[[2, 0, 1], [1, 1, 2], [9, 2, -1]] 0
[[2, 0, 1], [3, 1, 2], [9, 2, -1]] 3
[[1, 0, 1], [9, 1, -1], [1, 0, 2], [9, 2, -1]] 4
[[2, 0, 1], [3, 0, 1], [5, 1, 2], [4, 0, 2], [9, 2, -1], [9, 2, -1]] 8
[[3, 0, 1], [4, 0, 1], [5, 0, 1], [9, 1, -1], [7, 1, 2], [9, 2, -1]] 7
[[1, 0, 1], [2, 0, 1], [4, 0, 1], [9, 1, -1], [8, 1, 2], [9, 2, -1]] 6
[[6, 0, 1], [7, 0, 1], [9, 1, -1], [9, 1, -1]] 7