public class FifteenPuzzle {
//---------------------------------------------------
public static boolean solvable15Puzzle(int[][] b) {
int l=0,B=0,i=0,j=0,n=0,m=0,x=0;
for ( n = 0; n < 4; n++) {
for ( m = 0; m < 4; m++) {
x=0;
for( j=0;j<4;j++){
for ( i = 0; i < 4; i++) {
if (b[n][m] == b[j][i] || b[n][m] == 0) {
x = 1;
break;
}
if (b[n][m] < b[j][i]&&b[j][i]!=0) {
B++;
}
}
if (x==1)break;
}
}
}
x=0;
for( j=0;j<4;j++){
for ( i = 0; i < 4; i++) {
if (b[j][i] == 0) {
l=j+1;
x=1;
break;
}
}
if (x==1)break;
}
if((l+B)%2==0)return true;
else return false;
}
//---------------------------------------------------
public static void main(String[] a) {
int[][] ok = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 12, 15 },
{ 13, 14, 11, 0 } };
int[][] nok = { { 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 15, 14, 0 } };
System.out.println(solvable15Puzzle(ok));
System.out.println(solvable15Puzzle(nok));
}
}
|
SM=1, CM=34, ST=38, KY=791, TR=60:00
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
ERR = 60:00 ;
|