그냥 오래된 퍼즐
제한 시간 : 1 초 메모리 제한 : 1백28메가바이트제목 설명
당신은 15 개 수의 세포와 빈 셀로 구성된 4 × 4 격자를, 주어진다.
모든 수치는 고유하고 (15) (1)로부터 원거리
빈 셀에 이동할 수있는 빈 셀과 인접 셀이 보드.
당신의 작업은 아래 그림과 같이 대상 그리드에 입력 그리드를 만드는 것입니다.
다음의 예 (샘플 입력)에서는 두 개의 이동에서 대상 그리드를 얻을 수 있습니다.
모든 수치는 고유하고 (15) (1)로부터 원거리
빈 셀에 이동할 수있는 빈 셀과 인접 셀이 보드.
당신의 작업은 아래 그림과 같이 대상 그리드에 입력 그리드를 만드는 것입니다.
다음의 예 (샘플 입력)에서는 두 개의 이동에서 대상 그리드를 얻을 수 있습니다.
기입
첫 번째 라인은 테스트 케이스의 수를 나타내는 정수 T (1 <= T <= 10 ^ 5)을 포함한다.
각 시험은 각각 네 줄, 네 개의 공간 분리 된 정수를 포함하는 입력을 나타내는 격자로 구성된다. 0은 빈 셀을 나타냅니다.
각 시험은 각각 네 줄, 네 개의 공간 분리 된 정수를 포함하는 입력을 나타내는 격자로 구성된다. 0은 빈 셀을 나타냅니다.
수출
각 테스트 케이스의 경우, 한 줄에 답을 인쇄 할 수 있습니다.
당신은 120 개 이동에서 대상 그리드를 얻을 수없는 경우 '없음', 다른 인쇄 '예'를 인쇄 할 수 있습니다.
당신은 120 개 이동에서 대상 그리드를 얻을 수없는 경우 '없음', 다른 인쇄 '예'를 인쇄 할 수 있습니다.
샘플 입력
2
1 2 3 4
5 6 7 8
9 10 0 12
13 14 11 15
1 2 3 4
5 6 7 8
9 10 11 12
13 15 14 0
샘플 출력
예
아니오
코드 없습니다
1 #INCLUDE <. 비트 / stdc ++ H> 2 #DEFINE가 긴 긴 버리는 3은 사용 공간의 성병; 4 INT의 도착 [ 30 ]; 5 INT () 주 6 { 7 의 INT t; 8 는 scanf ( " %의 D " , t); 9 일 동안은 (t-- ) 10 { (11) 에 대해 ( int로 I = 1 ; i가 = < 4 ; I ++)는 scanf를 ( " %의 D를 " , 도착 [I]); (12) 위한 ( int로 I = 8 , I> = 5 , I -)는 scanf ( " %의 D " , 도착 [I]); (13) 에 대한이 ( int로 I = 9 ; 나는 = < 12 ; I ++)는 scanf ( " %의 D " , 도착 [I]); (14) 에 대한이 ( int로 난 = 16 , I> = 13 , I -)는 scanf ( " %의 D " , 도착 [I]); 15 INT에서 CNT = 0 ; (16) 에 대한이 ( int로 난 = 16 , I> =1 , 난 - ) 17 대 ( INT J = I- 1 ; J> = 1 ; j-- ) (18) 의 경우 (도착 [I] <도착 [J] && 도착 [I]! = 0 ) (19) (CNT) ++ ; 20 의 경우 (CNT 및 1 )의 printf ( " 예 \ n을 " ); (21) 다른 사람의 의 printf ( " 없음 \ n을 " ); 22 } 23 반환 0 ; 24 }