int main(){ freopen("transform.in", "r", stdin); freopen("transform.out", "w", stdout); int i, j, flag; scanf("%d", &n); for(i = 0; i < n; ++i){ scanf("%s", t1[i]); } for(i = 0; i < n; ++i){ scanf("%s", t2[i]); } if( equal() ){ printf("6\n"); return 0; } for(i = 1; i < 4; ++i){ right90(); if( equal() ){ printf("%d\n", i); return 0; } } right90(); image(); if( equal() ){ printf("4\n"); return 0; } for(i = 1; i < 4; ++i){ right90(); if( equal() ){ printf("5\n"); return 0; } } printf("7\n"); return 0; }
void executePath() { int i,j; double n; for (i = 0;moves[i] != INVALID;i++) { switch (moves[i]) { case FORWARD: n = 1; if (i > 0 && moves[i - 1] != FORWARD){// coming out of turn if (sturning) n += 0.5; else n += 1; } for (j = i + 1;moves[j] == FORWARD;i++,j++,n++); if (moves[i + 1] != INVALID && sturning)// approaching turn n -= 0.5; cellForward(n); break; case RIGHT: if (sturning) { sRight(); } else { if (moves[i - 1] != FORWARD) { cellForward(1); } right90(); } break; case LEFT: if (sturning) { sLeft(); } else { if (moves[i - 1] != FORWARD) { cellForward(1); } left90(); } break; default: break; } } if (sturning && moves[i-1]!=FORWARD) cellForward(0.5); }
void turnRight(int *dir) { virtualRight(dir); if (!savingPath) right90(); }