Source code for submission s1100

Go to diff to previous submission

grasshop.cpp

  1. #include <cstdio>
  2.  
  3. int pole[102][102];
  4.  
  5. int velX,velY,startX,startY,cilX,cilY;
  6.  
  7.  
  8. void rekurze(int X,int Y,int N)
  9. {
  10. //~ printf ("---- %d %d\n",X,Y);
  11. if (X<1||Y<1||X>velX||Y>velX) return;
  12. if (pole[X][Y]==-1 || pole[X][Y]>N) pole[X][Y]=N;
  13. else return;
  14. //~ if (cilX>X)
  15. //~ {
  16. rekurze(X+2,Y-1,N+1);
  17. rekurze(X+2,Y+1,N+1);
  18. //~ }
  19. //~ else
  20. //~ {
  21. rekurze(X-2,Y-1,N+1);
  22. rekurze(X-2,Y+1,N+1);
  23. //~ }
  24. //~ if (cilY>Y)
  25. //~ {
  26. rekurze(X-1,Y+2,N+1);
  27. rekurze(X+1,Y+2,N+1);
  28. //~ }
  29. //~ else
  30. //~ {
  31. rekurze(X-1,Y-2,N+1);
  32. rekurze(X+1,Y-2,N+1);
  33. //~ }
  34. }
  35.  
  36.  
  37. int main()
  38. {
  39. //~ int velX,velY,startX,startY,cilX,cilY;
  40. while (scanf("%d%d%d%d%d%d",&velX,&velY,&startX,&startY,&cilX,&cilY)==6)
  41. {
  42. for (int i=1;i<=velX;i++)
  43. for (int j=1;j<=velY;j++)
  44. pole[i][j]=-1;
  45.  
  46. rekurze(startX,startY,0);
  47. if (pole[cilX][cilY]==-1) printf("impossible\n");
  48. else printf("%d\n",pole[cilX][cilY]);
  49. }
  50.  
  51. }
  52.  

Diff to submission s1066

grasshop.cpp

--- c4.s1066.cteam039.grasshop.cpp.0.grasshop.cpp
+++ c4.s1100.cteam039.grasshop.cpp.0.grasshop.cpp
@@ -12,24 +12,24 @@
         if (pole[X][Y]==-1 || pole[X][Y]>N) pole[X][Y]=N;
         else return;
-        if (cilX>X)
-        {
+        //~ if (cilX>X)
+        //~ {
                 rekurze(X+2,Y-1,N+1);
                 rekurze(X+2,Y+1,N+1);
-        }
-        else
-        {
+        //~ }
+        //~ else
+        //~ {
                 rekurze(X-2,Y-1,N+1);
                 rekurze(X-2,Y+1,N+1);
-        }
-        if (cilY>Y)
-        {
+        //~ }
+        //~ if (cilY>Y)
+        //~ {
                 rekurze(X-1,Y+2,N+1);
                 rekurze(X+1,Y+2,N+1);
-        }
-        else
-        {
+        //~ }
+        //~ else
+        //~ {
                 rekurze(X-1,Y-2,N+1);
                 rekurze(X+1,Y-2,N+1);
-        }
+        //~ }
 }