| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 0.1 초 | 2048 MB | 441 | 251 | 177 | 58.609% |
위 그림과 같이 5ドル \times 5$ 크기의 총 25ドル$칸으로 이루어진 격자판이 주어져 있다. 편의상 맨 왼쪽 위칸의 좌표를 $(1,1)$이라 하고 맨 오른쪽 아래 칸의 좌표를 $(5,5)$라 하자. 초기에 $(1,1),ドル $(4,5),ドル $(5,4),ドル $(5,5)$에는 0ドル$이 채워져 있고, 1ドル$행의 모든 칸과 1ドル$열의 모든 칸은 미리 어떤 숫자(정수)들이 채워져 있다. 즉, $A$부터 $H$까지는 미리 채워진 숫자들이다. 이제 나머지 빈 칸들에 1ドル$부터 13ドル$까지의 서로 다른 수들을 채워야한다. 즉, $a$부터 $m$까지는 1ドル$부터 13ドル$까지의 서로 다른 숫자이다. 이때, 각 숫자들 사이에는 다음과 같은 규칙이 성립해야 한다.
즉, $(1,1)$을 제외하고, 첫 번째 행의 각 칸에 있는 수들은 같은 열에 있는 수들의 합이며, 첫 번째 열의 각 칸에 있는 수들은 같은 행에 있는 수들의 합이다.
예를 들어, $A$부터 $H$까지의 숫자가 오른쪽 그림과 같이 주어졌다고 하자. 만약 $a$부터 $m$까지의 숫자를 그림과 같이 할당하면 위의 규칙이 만족된다. 하지만 만약 $A$부터 $H$까지의 숫자가 3,ドル 22, 27, 9, 16, 34, 27, 14$로 주어졌다면 위의 규칙을 만족하도록 $a$부터 $m$까지에 할당할 수 있는 방법이 없다.
$A$부터 $H$까지 8ドル$개의 숫자가 주어졌을 때, 위의 규칙이 만족되도록 1ドル$부터 13ドル$까지의 서로 다른 숫자를 $a$부터 $m$까지에 할당하는 모든 경우의 수를 출력하는 프로그램을 작성하시오.
입력은 표준입력을 사용한다. 정수 $A, B, C, D, E, F, G, H$의 값이 한 줄에 차례로 주어진다. 각 정수는 3ドル$이상 46ドル$이하이다.
출력은 표준출력을 사용한다. 1ドル$부터 13ドル$까지의 서로 다른 13ドル$개의 정수를 $a$부터 $m$까지에 할당할 수 있는 모든 경우의 수를 한 줄에 출력한다.
33 22 27 9 16 34 27 14
126
3 22 27 9 16 34 27 14
0