import java.io.*; import java.util.*; public class Terriers { public static void main(String[] argv){ int i=1; Scanner in = new Scanner(System.in); int w, l, n, t; w = in.nextInt(); l = in.nextInt(); n = in.nextInt(); t = in.nextInt(); while(w!=0){ System.out.println("Observation Set "+i); new Terriers(in, w+1, l+1, n, t); w = in.nextInt(); l = in.nextInt(); n = in.nextInt(); t = in.nextInt(); i++; } } public Terriers (Scanner in, int W, int L, int N, int T){ boolean[][] p = new boolean[W][L]; int[][][] terriers = new int[T][N][2]; for(int n=0;n0) System.out.print(" "); System.out.printf("(%d,%d)", w, l); x++; hasP = true; } } if(!hasP){ System.out.println("No possible locations"); } else System.out.println(); } void clearAt(int[] coord, boolean[][] p){ for(int dw=-1;dw<2;dw++) for(int dl=-1;dl<2;dl++){ if(dw!=0 && dl!=0) continue; int nw = coord[0]+dw; int nl = coord[1]+dl; if(nw < 0 || nw >= p.length || nl < 0 || nl >= p[0].length) continue; p[nw][nl] = false; } } boolean[][] updatePossibles(int[][] dogs, boolean[][] p){ boolean[][] newp = new boolean[p.length][p[0].length]; for(int i=0;i= p.length || nl < 0 || nl >= p[0].length) continue; newp[nw][nl] = true; } // reclear based on dog position for(int d = 0 ; d < dogs.length ; d++) clearAt(dogs[d], newp); return newp; } }