Пример #1
0
 public static void main(String[] args) { // unit tests (not graded)
   In in = new In(args[0]); // input file
   int N = in.readInt();
   int[][] blocks = new int[N][N];
   for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) blocks[i][j] = in.readInt();
   Board bd = new Board(blocks);
   StdOut.println("dimension: " + bd.dimension());
   StdOut.println("hamming: " + bd.hamming());
   StdOut.println("Manhattan distances: " + bd.manhattan());
   StdOut.println("is goal: " + bd.isGoal());
   StdOut.print(bd);
   StdOut.print("twin: " + bd.twin());
   StdOut.println("twin equal: " + bd.equals(bd.twin()));
   StdOut.println("twin twin equal: " + bd.equals(bd.twin().twin()));
   for (Board it : bd.neighbors()) StdOut.print(it);
 }
Пример #2
0
  /**
   * main for unit tests
   *
   * @param args
   */
  public static void main(String[] args) {
    In in = new In(args[0]);
    int N = in.readInt();
    int[][] blocks = new int[N][N];
    for (int i = 0; i < N; i++) {
      for (int j = 0; j < N; j++) {
        blocks[i][j] = in.readInt();
      }
    }
    Board initial = new Board(blocks);

    // test
    StdOut.println(initial.dimension());
    StdOut.println(initial.hamming());
    StdOut.println(initial.manhattan());
    StdOut.println(initial.isGoal());
    StdOut.println(initial.toString());
    StdOut.println(initial.twin().toString());
    for (Board b : initial.neighbors()) {
      StdOut.println(b.toString());
    }
  }
Пример #3
0
  public static void main(String[] args) {
    // for each command-line argument

    // read in the board specified in the filename
    String filename = args[0];
    In in = new In(filename);
    //        StdOut.println(filename);
    int N = in.readInt();
    //        StdOut.println(N);
    int[][] tiles = new int[N][N];
    for (int i = 0; i < N; i++) {
      for (int j = 0; j < N; j++) {
        tiles[i][j] = in.readInt();
      }
    }

    // solve the slider puzzle
    Board initial = new Board(tiles);
    StdOut.println(initial.toString());
    StdOut.println(initial.hamming());
    StdOut.println(initial.manhattan());
  } // unit tests (not graded)
Пример #4
0
 @Test
 public void testHamming() {
   int[][] orig = {{8, 1, 3}, {4, 0, 2}, {7, 6, 5}};
   Board b = new Board(orig);
   assertEquals(5, b.hamming());
 }