Lab8-Puzzle15


5530651321  นายอิทธิสุทธิ์ หิรัญเตียรณกุล (COM21900) (8/23/2012 (6:31:28 PM))

MiniQuiz + TestScript
JLab>javac FifteenPuzzle.java
JLab>
JLab>java Selftest 

JLab> testPuzzle15 : ok ok ok ok ok ok ok ok ok ok  (10.0/10.0)
JLab> : -----------------------------
JLab> : ?????? 10.0 ????? (???? 10.0)
JLab> : -----------------------------
JLab> :<POINT>10.0</POINT> (<TOTAL>10.0</TOTAL> )
JLab>

ได้ 10 คะแนน
Source Code
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 ;