1 solutions
-
0
C++ :
#include<stdio.h> struct node { int x,y; int move; }; char a[10][10]; void move(node& animal) { switch (animal.move) { case 0: { if (animal.x==0||a[animal.x-1][animal.y]=='*') animal.move=(animal.move+1)%4; else animal.x--; break; } case 1: { if (animal.y==9||a[animal.x][animal.y+1]=='*') animal.move=(animal.move+1)%4; else animal.y++; break; } case 2: { if (animal.x==9||a[animal.x+1][animal.y]=='*') animal.move=(animal.move+1)%4; else animal.x++; break; } case 3: { if (animal.y==0||a[animal.x][animal.y-1]=='*') animal.move=(animal.move+1)%4; else animal.y--; break; } } } int main() { while(scanf("%s",a[0])!=EOF) { for (int i=1;i<10;i++) scanf("%s",a[i]); node people,niu; int x,y,x1,y1; for (int i=0;i<10;i++) for (int j=0;j<10;j++) { if (a[i][j]=='C') {x=niu.x=i;y=niu.y=j;niu.move=0;} if (a[i][j]=='F') {x1=people.x=i;y1=people.y=j;people.move=0;} } int all=0; int ok=0; while(niu.x!=people.x||niu.y!=people.y) { all++; move(niu); move(people); if (all>=160000) {printf("0\n");ok=1;break;} } if (!ok) printf("%d\n",all); } return 0; }
- 1
Information
- ID
- 16500
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By