2019HDU 훈련 학교 다 넷째 G-그냥 오래된 퍼즐

그냥 오래된 퍼즐

제한 시간 : 1 초   메모리 제한 : 1백28메가바이트

제목 설명

당신은 15 개 수의 세포와 빈 셀로 구성된 4 × 4 격자를, 주어진다.
모든 수치는 고유하고 (15) (1)로부터 원거리
빈 셀에 이동할 수있는 빈 셀과 인접 셀이 보드.
당신의 작업은 아래 그림과 같이 대상 그리드에 입력 그리드를 만드는 것입니다.
다음의 예 (샘플 입력)에서는 두 개의 이동에서 대상 그리드를 얻을 수 있습니다.

기입

첫 번째 라인은 테스트 케이스의 수를 나타내는 정수 T (1 <= T <= 10 ^ 5)을 포함한다.
각 시험은 각각 네 줄, 네 개의 공간 분리 된 정수를 포함하는 입력을 나타내는 격자로 구성된다. 0은 빈 셀을 나타냅니다.

 

수출

각 테스트 케이스의 경우, 한 줄에 답을 인쇄 할 수 있습니다.
당신은 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 }
코드보기

 



추천

출처www.cnblogs.com/CharlieWade/p/11285590.html