Go to diff to previous submission
import java.util.LinkedList; import java.util.Scanner; public class Main { public static final int[][] polePozic={{1,-2},{2,-1},{2,1},{1,2},{-1,2},{-2,1},{-2,-1},{-1,-2}}; while(sc.hasNext()){ int pocetRadek=sc.nextInt(); int pocetSloupcu=sc.nextInt(); int poziceSkokanaY=sc.nextInt(); int poziceSkokanaX=sc.nextInt(); int poziceMnamkyY=sc.nextInt(); int poziceMnamkyX=sc.nextInt(); int poleJizSkakano[][]=new int[pocetRadek+1][pocetSloupcu+1]; for(int i=0;i<pocetRadek;i++){ for(int j=0;j<pocetSloupcu;j++){ poleJizSkakano[i][j]=-1; } } poleJizSkakano[poziceSkokanaY][poziceSkokanaX]=0; // System.out.println(poleJizSkakano[5][5]); LinkedList<Integer> fronta = new LinkedList<Integer>(); fronta.add(poziceSkokanaX); fronta.add(poziceSkokanaY); boolean nalez=false; while(!fronta.isEmpty() && !nalez){ // System.out.println("aktx je "+aktX+"akty je "+aktY+" aktStep je "+aktStep); if((aktX ==poziceMnamkyX) && (aktY==poziceMnamkyY)){ nalez=true; }else{ aktStep++; for(int i=0;i<polePozic.length;i++){ int testX=aktX+polePozic[i][0]; int testY=aktY+polePozic[i][1]; if(((testX>=1) && (testX<=pocetSloupcu))&&((testY>=1)&&(testY<=pocetRadek))){ if(poleJizSkakano[testY][testX]<=0){ fronta.add(testX); fronta.add(testY); poleJizSkakano[testY][testX]=aktStep; } } } } } // System.out.println("dostalo se k ifu"); if(fronta.isEmpty() && !nalez){ } } } }
--- c4.s1301.cteam117.grasshop.java.0.Main.java +++ c4.s1314.cteam117.grasshop.java.0.Main.java @@ -13,9 +13,10 @@ int pocetSloupcu=sc.nextInt(); - int poziceSkokanaX=sc.nextInt(); int poziceSkokanaY=sc.nextInt(); - int poziceMnamkyX=sc.nextInt(); + int poziceSkokanaX=sc.nextInt(); int poziceMnamkyY=sc.nextInt(); + int poziceMnamkyX=sc.nextInt(); + int poleJizSkakano[][]=new int[pocetRadek+1][pocetSloupcu+1]; for(int i=0;i<pocetRadek;i++){