Lab8-Puzzle15


5530425921  นายภากร ธนพฤฒิวงศ์ (COM21900) (9/20/2012 (1:44:23 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 a = 0, B = 0, j = 0, check = 0;
    for (int x = 0; x < 4; x++) {
      for (int y = 0; y < 4; y++) {
        for (int z = x; z < 4; z++) {
          if (z == x) j = y + 1;
          else j = 0;
          for (int l = j; l < 4; l++) {
            if (b[y][x] == 0) B = x + 1;
           else if (b[l][z] != 0 && b[y][x] > b[l][z]) a++;
          }
          }
          }
          }
          check = (a + B) % 2;
          if (check == 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=7, CM=22, ST=24, KY=338, 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 ;