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); }
/** * 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()); } }
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)
@Test public void testHamming() { int[][] orig = {{8, 1, 3}, {4, 0, 2}, {7, 6, 5}}; Board b = new Board(orig); assertEquals(5, b.hamming()); }