Source code for submission s768

Grasshop.java

  1. import java.util.Scanner;
  2.  
  3. /**
  4.  *
  5.  * @author cteam060
  6.  */
  7. public class Main {
  8.  
  9. /**
  10.   * @param args the command line arguments
  11.   */
  12. public static void main(String[] args) {
  13. int i,z,j,k,i1,i2,j1,j2;
  14. boolean skok = false;
  15. int tah[][] = new int[9][2];
  16. tah[8][0]=1; tah[8][1]=2;
  17. tah[1][0]=2; tah[1][1]=1;
  18. tah[2][0]=2; tah[2][1]=-1;
  19. tah[3][0]=1; tah[3][1]=-2;
  20. tah[4][0]=-1; tah[4][1]=-2;
  21. tah[5][0]=-2; tah[5][1]=-1;
  22. tah[6][0]=-2; tah[6][1]=1;
  23. tah[7][0]=-1; tah[7][1]=2;
  24.  
  25.  
  26.  
  27. Scanner sc = new Scanner(System.in);
  28. while(sc.hasNext()){
  29. int r = sc.nextInt();
  30. int c = sc.nextInt();
  31. int gr = sc.nextInt();
  32. int gc = sc.nextInt();
  33. int lr = sc.nextInt();
  34. int lc = sc.nextInt();
  35.  
  36. int sach[][]= new int[c+1][r+1];
  37.  
  38. for(i=1;i<=c;i++){
  39. for(j=1;j<=r;j++){
  40. sach[i][j]=-1;
  41. }
  42. }
  43. //ok
  44. sach[gc][gr]=0;
  45. int krok=1;
  46. while(sach[lr][lc]==-1){
  47. skok = false;
  48. for(i1=1;i1<=c;i1++){ //procházíme pole a pokud je krok-1 tak zněj zkoušíme skákat
  49. for(i2=1;i2<=r;i2++){
  50. if(sach[i1][i2]==krok-1){ //
  51.  
  52. for(k=1;k<=8;k++){
  53. j1=i1+tah[k][0];
  54. j2=i2+tah[k][1];
  55.  
  56.  
  57. if((j2>0)&&(j2<r+1)&&(j1>0)&&(j1<c+1)){
  58. if(sach[j1][j2]==-1){
  59. sach[j1][j2]=krok;
  60. skok = true;
  61. }
  62. }
  63.  
  64. }
  65. }
  66. }
  67. }
  68. krok++;
  69. if(!skok){break;}
  70. }
  71. if(skok==true){System.out.println(sach[lr][lc]);}
  72. else {
  73. System.out.println("impossible");
  74. }
  75. }
  76.  
  77.  
  78. }
  79.  
  80. }
  81.