Go to diff to previous submission
#include <stdio.h> #include <math.h> int R,C, Lr, Lc, Gr, Gc; int get_dist(int a, int b, int x, int y) { } int main() { { int d = get_dist(Gr, Gc, Lr, Lc); int result = 0; if (d == 0) { } else if (R == 1 || C == 1) { } else if (R == 2 || C == 2) { if (d % 3 == 0) { } else if (R == 3 && C == 3) { else { switch(d) { case 1: break; case 3: break; case 4: break; case 5: break; } } } else if (x*2 < y) { result = y/2; result += (y%2 > 0) ? 1 : 0; } else if (y*2 < x) { result = x/2; result += (x%2 > 0) ? 1 : 0; } else { switch(d) { case 1: break; case 2: break; case 3: break; case 4: break; case 5: break; } if (d > 5) { result += (d % 3) > 0 ? 1 : 0; result += d/3; } } } return 0; }
--- c4.s804.cteam074.grasshop.c.0.grasshop.c +++ c4.s893.cteam074.grasshop.c.0.grasshop.c @@ -28,4 +28,5 @@ } else if (R == 3 && C == 3) { if (d == 2) printf("impossible\n"); + else if (Lr == 2 && Lc == 2) printf("impossible\n"); else { switch(d) { @@ -33,7 +34,4 @@ printf("3\n"); break; - case 2: - printf("2\n"); - break; case 3: printf("1\n");