循环25次后爆掉,求巨佬解疑
查看原帖
循环25次后爆掉,求巨佬解疑
426789
zjl2007楼主2023/11/14 12:26
#include<iostream>
#include<string.h>
using namespace std;
bool mp[15][15];
char a;
int time,xx,yy;
int dx[4]={-1,0,1,0};
int dy[4]={0,1,0,-1};
struct node{
	int x,y,t=0;
}f,c;
int main(){
	for(int i=0;i<=11;i++){
		mp[0][i]=1;
		mp[i][0]=1;
		mp[i][11]=1;
		mp[11][i]=1;
	}
	for(int i=2;i<=10;i++){
		for(int j=1;j<=11;j++){
			scanf("%c",&a);
			if(a==' ')continue;
			if(a=='*')mp[i][j]=1;
			if(a=='F')f.x=i,f.y=j;
			if(a=='C')c.x=i,c.y=j;
		}
	}
	time=0;
	while(f.x!=c.x||f.y!=c.y){
		if(time>10000){
			printf("0");
			return 0;
		}
		xx=f.x+dx[f.t],yy=f.y+dy[f.t];
		if(mp[xx][yy])f.t++;
		else f.x=xx,f.y=yy;
		xx=c.x+dx[c.t],yy=c.y+dy[c.t];
		if(mp[xx][yy])c.t++;
		else c.x=xx,c.y=yy;
		time++;
	}
	printf("%d",time);
	return 0;
}
2023/11/14 12:26
加载中...