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) { int t = (x > y) ? x : y; if (Gr == Lr || Gc == Gc) { if ((t+2) % 4 == 0) { } else { if (t % 4 == 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.s893.cteam074.grasshop.c.0.grasshop.c +++ c4.s1003.cteam074.grasshop.c.0.grasshop.c @@ -23,7 +23,15 @@ printf("impossible\n"); } else if (R == 2 || C == 2) { - if (d % 3 == 0) { - printf("%d\n", d/2); - } else printf("impossible\n"); + int t = (x > y) ? x : y; + printf("test %d\n", t); + if (Gr == Lr || Gc == Gc) { + if ((t+2) % 4 == 0) { + printf("%d\n", t/2); + } else printf("impossible\n"); + } else { + if (t % 4 == 0) { + printf("%d\n", t/2); + } else printf("impossible\n"); + } } else if (R == 3 && C == 3) { if (d == 2) printf("impossible\n"); @@ -65,5 +73,5 @@ break; case 4: - printf("4\n"); + printf("3\n"); break; case 5: