Lab8-Puzzle15


5531019021  นายณภัทร ลิปิมงคล (COM21900) (10/1/2556 (13:21:29))

MiniQuiz + TestScript
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;
    for (int i = 0; i < 16; i++) {
      for (int j = i; j < 16; j++) {
        if (b[j / 4][j % 4] == 0 || b[i / 4][i % 4] == 0) {
          if (b[i / 4][i % 4] == 0) B = i / 4;
        } else if (b[i / 4][i % 4] > b[j / 4][j % 4]) {
          L++;
        }
      }
    }
    B++;
    if((L+B)%2 == 1)return false;
    return true;
  }
  //---------------------------------------------------
  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=0, CM=4, ST=5, KY=249, TR=60:00
ERR = 60:00 1059,1059,1046,1046,1046,1059,1046,1046,1059,1046,1046,1059,1046,1046,1059,1046,1046,;
ERR = 60:00 1009,1095,;
ERR = 60:00 1131,;
ERR = 60:00 ;