시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 32 MB | 37 | 13 | 11 | 40.741% |
육각형 모양의 타일로 이루어진 벌집 모양의 판이 있다. 타일에는 빨강색, 녹색, 파란색 중 하나의 색을 칠할 수 있는데, 변이 인접한 타일끼리는 같은 색을 칠할 수 없다. 우리는 앞의 조건을 만족하는 판들 중 아래의 판을 사용하도록 하겠다.
이 판의 어느 파란 타일의 정 중앙에 오른쪽을 바라보는 로봇이 올려져 있다. 로봇에게는 세가지 명령이 있는데, LEFT
, RIGHT
, MOVE
이다. 각 명령을 자세히 정의하기 위해 칸의 중앙에 위치한 로봇이 보고 있는 방향을 숫자로 나타내보자. (처음에 로봇은 오른쪽 방향인 0을 바라보고 있는 것이다.)
그리고 이제 로봇의 세가지 동작을 정의하면 아래와 같다.
로봇이 어떤 동작을 할지는 아직 정해져 있지 않지만, LEFT 동작을 L번, RIGHT 동작을 R번, MOVE 동작을 M번 할 것임은 정해져 있다. 그러므로 로봇은 총
\(\frac{(L+R+M)!}{L!R!M!}\)
가지의 서로 순서가 다른 동작을 수행할 수 있는 것이다. L, R, M이 주어질 때 로봇이 각 색깔의 타일에 멈출 경우의 수를 구하는 프로그램을 작성하라.
로봇이 LEFT
동작을 할 횟수 L, RIGHT
동작을 할 횟수 R, MOVE
동작을 할 횟수 M이 공백으로 구분되어 주어진다. (0 ≤ L, R, M ≤ 2,000)
세 줄에 걸쳐서 출력을 한다. 첫 번째 줄에는 로봇이 멈춘 타일의 색이 빨강색일 경우 의 수, 두 번째 줄에는 로봇이 멈춘 타일의 색이 초록색일 경우의 수, 세 번째 줄에는 로 봇이 멈춘 타일의 색이 파란색일 경우의 수를 출력한다. 답이 매우 커질 수 있으므로 답을 1,000,000,007로 나눈 나머지를 출력한다.
1 1 2
2 6 4
Contest > kriiicon > 제1회 kriiICPC H번