// fredrihl o-2 import easyIO.*; // EasyIO v4.0 import java.util.*; //import java.io.*; /** * Oblig 2 INF1010. * @author fredrihl * @version 1 * @param args[0] filen som skal løses */ class o2 { public static void main (String[] args) { if (args.length == 1) { String fil = args[0]; Kontroll k = new Kontroll(fil); } else System.out.print(" * Angi fil, eks: 'java o2 sudoku.txt'n"); } // main } // o2 class Kontroll { Utsyn ut = new Utsyn(); Brett brett; /** * Kontruktøren i klassen Kontroll bruker angitt filnavn til å hente en slik fil og blablabla. */ Kontroll(String fil) { /* Alle løsningene til en tom fil:*/ /*/ Generere tom int dim=2, horz=1, vert=1; this.b = new Brett(dim, horz, vert); for(int i=0; i losninger = new ArrayList(); int antalltestbrett = 0; Brett(int dimensjon, int ant_x, int ant_y) { this.ruter = new Rute[dimensjon][dimensjon]; this.dimensjon = dimensjon; this.ant_x = ant_x; this.ant_y = ant_y; this.kolonner = new Kol[dimensjon]; this.rader = new Rad[dimensjon]; this.bokser = new Boks[dimensjon]; for(int i=0; i verdier = new ArrayList(); public void assign(Rute r) { this.verdier.add(r); } public boolean unique(int value) { boolean finnes = false; for(Rute r: verdier) if(r.getValue() == value) finnes = true; return !finnes; } void skriv() { for(Rute r: verdier) System.out.print("mongo: "+r.getValue() + " "); } } class Rad extends Sektor { //nothing } class Kol extends Sektor { // } class Boks extends Sektor { } class Rute { int value, id; int kol, rad, boks, dim; Brett br; // brukes i den rekursive metoden. Rute(char c, int x, int y, int boks, int id, Brett br) { this.value = toNumber(c); this.boks = boks; this.id = id; this.kol = x; this.rad = y; this.dim = br.giDim(); this.br = br; } public int getValue() { return this.value; } public void setValue(int v) { this.value = v; } public int[] sektor() { int[] k = {kol,rad,boks}; return k; } private static int toNumber(char c) { int value; value = Character.digit(c, 36); if(value == -1) value = 0; //Usatt verdi = 0 return value; } public void provAlleSifferMegOgResten(int x, int y) { boolean alle=false; y++; if (y == dim) { y = 0; x++; if (x == dim) alle = true; } //slutt if if (value == 0) { for(int v=1; v