프로그램 명: usa_jigsaw(special judge)
제한시간: 1 초

//아직 sj 가 되지 않았습니다.

소들이 알파벳 직소 퍼즐을 푼다. 직소퍼즐은 R행과 C열로 (1<=R,C<=10) 되어있으며 가장자리는 일반 직소퍼즐처럼 웃긴 모양이 아니라 글자로 되어있다. 각각의 조각들은 숫자와 4개의 글자 (가장자리) 로 이루어져있다. 글자 '0' 의 경우에는 퍼즐 전체의 가장자리를 뜻한다. (하나의 퍼즐 조각은 여러 개의 '0' 가장자리를 가질 수도 있다.) 다음은 6 개의 조각들의 조립된 예시를 보여준다. (가장자리는 '0' 대신 직선으로 표기되었다.)

              +---+  +---+  +---+
              | 1 c  c 3 d  d 5 |
              +-d-+  + a +  +-e-+

              +-d-+  +-a-+  +-e-+
              | 2 b  b 4 b  b 6 |
              +---+  +---+  +---+
각각의 가장자리들은 모두 같은 알파벳으로 이루어져서 결합되어있는 것에 유의하라. 가장자리는 위, 아래, 오른쪽, 왼쪽으로 4개의 방향을 뜻한다. 각각의 조각들은 숫자와 시계방향 순서의 가장자리가 주어진다. (가장자리는 'a' 부터 'z' 까지의 알파벳 또는 '0' 으로 이루어진다.) 각각의 조각들은 순서에 맞게 회전되어야 한다.

조각들의 세트가 주어질 때, 적어도 한 가지의 완성할 수 있는 방법을 찾으시오. 퍼즐을 위해 주어지는 R행과 C열의 정보로 인해 더 쉽게 해결할 수 있을 것이다.

입력

출력

R*(i-1)+j 번째 라인에 i 행 j 열의 퍼즐조각의 정보를 출력한다. 퍼즐의 정보 중 모서리는 위, 오른쪽, 아래, 왼쪽 순서대로 출력한다.

입출력 예

입력

2 3
1 c d 0 0
2 0 d b 0
3 c 0 d a
4 b a b 0
5 d 0 0 e
6 0 0 b e

출력

1 0 c d 0
3 0 d a c
5 0 0 e d
2 d b 0 0
4 a b 0 b
6 e 0 0 b

입출력 보충

각각의 테스트케이스에 대해 여러 가지 답이 가능한 경우 그 중 한 가지만 출력해도 된다.
출처: USACO 2008 DEC silver
번역: KangJ

[질/답] [제출 현황] [푼 후(0)]
[ 채 점 ] [홈으로]  [뒤 로]