1 条题解
-
0
C :
#include<stdio.h> #include<string.h> int main() { int i1,i2,j1,j2,i,x[12][12]={0},k=1,m=0,n=0,sum=0; char c[12]; for(i=0;i<=11;i++) x[i][0]=x[0][i]=x[11][i]=x[i][11]=1; while(scanf("%s",c)==1&&strlen(c)>5) { for(i=0;i<10;i++) { if(c[i]=='*')x[k][i+1]=1; else if(c[i]=='C'){x[k][i+1]=0;i1=k;i2=i+1;} else if(c[i]=='F'){x[k][i+1]=0;j1=k;j2=i+1;} } k++; if(k==11){ while(i1!=j1||i2!=j2) { if(m==0)if(x[i1-1][i2]==1)m=1;else i1--; else if(m==1)if(x[i1][i2+1]==1)m=2;else i2++; else if(m==2)if(x[i1+1][i2]==1)m=3;else i1++; else if(m==3)if(x[i1][i2-1]==1)m=0;else i2--; if(n==0)if(x[j1-1][j2]==1)n=1;else j1--; else if(n==1)if(x[j1][j2+1]==1)n=2;else j2++; else if(n==2)if(x[j1+1][j2]==1)n=3;else j1++; else if(n==3)if(x[j1][j2-1]==1)n=0;else j2--; sum++; if(sum>10000)break; } if(sum<10000)printf("%d\n",sum);else printf("0\n"); memset(x,0,sizeof(x));k=1;m=0;n=0; for(i=0;i<=11;i++) x[i][0]=x[0][i]=x[11][i]=x[i][11]=1; sum=0; } } return 1; }
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
信息
- ID
- 2841
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者