public class HiiriShakki {
    public static double[][] lauta = new double[8][8];

    public static void liikuAskel() {
        double[][] uusi = new double[8][8];
        for (int i = 0; i < 8; i++) {
            for (int j = 0; j < 8; j++) {
                int suunnat = 4;
                if ((i == 0 || i == 7) || (j == 0 || j == 7)) {
                    suunnat = 3;
                }
                if ((i == 0 || i == 7) && (j == 0 || j == 7)) {
                    suunnat = 2;
                }
                if (i > 0) uusi[i-1][j] += lauta[i][j]/suunnat;
                if (i < 7) uusi[i+1][j] += lauta[i][j]/suunnat;
                if (j > 0) uusi[i][j-1] += lauta[i][j]/suunnat;
                if (j < 7) uusi[i][j+1] += lauta[i][j]/suunnat;
            }
        }
        lauta = uusi;
    }

    public static void main(String[] args) {
        lauta[0][0] = 1;
        for (int i = 0; i < 60; i++) {
            liikuAskel();
        }
        double suurin = 0;
        int suurinY = 0, suurinX = 0;
        for (int i = 0; i < 8; i++) {
            for (int j = 0; j < 8; j++) {
                if (lauta[i][j] > suurin) {
                    suurin = lauta[i][j];
                    suurinY = i;
                    suurinX = j;
                }
            }
        }
        System.out.println("Sijainti: (" + suurinY + "," + suurinX + ")");
        System.out.println("Todennäköisyys: " + suurin);
    }
}
