本地运行错误QWQ
查看原帖
本地运行错误QWQ
1037200
lty2023楼主2024/7/30 21:07
#include<bits/stdc++.h>
using namespace std;
int main(){
	struct zb{
		int x,y;
		int h;
	};
	zb c,f;
	c.h=1;
	f.h=1;
	int ans=0;
	int b[5][2]={{0,0},{0,1},{1,0},{0,-1},{-1,0}};
	char a[11][11];
	for(int i=1;i<=10;i++){
		for(int j=1;j<=10;j++){
			cin>>a[i][j];
			if(a[i][j]=='F'){
				f.x=i;
				f.y=j;
			}
			if(a[i][j]=='C'){
				c.x=i;
				c.y=j;
			}
		}
	}
	while(c.x!=f.x||c.y!=f.y){
		ans++;
		if(a[c.x+b[c.h][0]][c.y+b[c.h][1]]=='*'||c.x==1||c.y==1||c.x==10||c.y==10){
			if(c.h==4){
				c.h=1;
			}
			else{
				c.h++;
			}
		}
		if(a[f.x+b[f.h][0]][f.y+b[f.h][1]]=='*'||f.x==1||f.y==1||f.x==10||f.y==10){
			if(f.h==4){
				f.h=1;
			}
			else{
				f.h++;
			}
			continue;
		}
		if(a[c.x+b[c.h][0]][c.y+b[c.h][1]]=='*'||c.x==1||c.y==1||c.x==10||c.y==10){
			continue;
		}
		f.x+=b[f.h][0];
		f.y+=b[f.h][1]; 
		c.x+=b[c.h][0];
		c.y+=b[c.h][1];
		if(a[f.x][f.y]=='F'&&a[c.x][c.y]=='C'){
			cout<<0;
			return 0;
		}
	}
	cout<<ans;
}
2024/7/30 21:07
加载中...