Source code for submission s1314

Go to diff to previous submission

Main.java

  1. import java.util.LinkedList;
  2. import java.util.Scanner;
  3.  
  4. public class Main {
  5.  
  6. public static final int[][] polePozic={{1,-2},{2,-1},{2,1},{1,2},{-1,2},{-2,1},{-2,-1},{-1,-2}};
  7.  
  8. public static void main(String[] args) {
  9. Scanner sc=new Scanner(System.in);
  10. while(sc.hasNext()){
  11.  
  12. int pocetRadek=sc.nextInt();
  13. int pocetSloupcu=sc.nextInt();
  14.  
  15. int poziceSkokanaY=sc.nextInt();
  16. int poziceSkokanaX=sc.nextInt();
  17. int poziceMnamkyY=sc.nextInt();
  18. int poziceMnamkyX=sc.nextInt();
  19.  
  20.  
  21. int poleJizSkakano[][]=new int[pocetRadek+1][pocetSloupcu+1];
  22. for(int i=0;i<pocetRadek;i++){
  23. for(int j=0;j<pocetSloupcu;j++){
  24. poleJizSkakano[i][j]=-1;
  25. }
  26. }
  27.  
  28. poleJizSkakano[poziceSkokanaY][poziceSkokanaX]=0;
  29. // System.out.println(poleJizSkakano[5][5]);
  30. LinkedList<Integer> fronta = new LinkedList<Integer>();
  31. fronta.add(poziceSkokanaX);
  32. fronta.add(poziceSkokanaY);
  33.  
  34. boolean nalez=false;
  35. while(!fronta.isEmpty() && !nalez){
  36. Integer aktX=fronta.get(0); fronta.remove(0);
  37. Integer aktY=fronta.get(0); fronta.remove(0);
  38. Integer aktStep=poleJizSkakano[aktY][aktX];
  39. // System.out.println("aktx je "+aktX+"akty je "+aktY+" aktStep je "+aktStep);
  40.  
  41. if((aktX ==poziceMnamkyX) && (aktY==poziceMnamkyY)){
  42. System.out.println(aktStep);
  43. nalez=true;
  44. }else{
  45. aktStep++;
  46. for(int i=0;i<polePozic.length;i++){
  47. int testX=aktX+polePozic[i][0];
  48. int testY=aktY+polePozic[i][1];
  49.  
  50. if(((testX>=1) && (testX<=pocetSloupcu))&&((testY>=1)&&(testY<=pocetRadek))){
  51. if(poleJizSkakano[testY][testX]<=0){
  52. fronta.add(testX);
  53. fronta.add(testY);
  54. poleJizSkakano[testY][testX]=aktStep;
  55. }
  56. }
  57. }
  58. }
  59. }
  60. // System.out.println("dostalo se k ifu");
  61. if(fronta.isEmpty() && !nalez){
  62. System.out.println("impossible");
  63. }
  64. }
  65. }
  66. }
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  

Diff to submission s1301

Main.java

--- 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++){