样例不过求调
查看原帖
样例不过求调
1279276
wpx_楼主2025/7/25 18:35
#include<bits/stdc++.h>
using namespace std;
int x,y,z,a,b,c;
char mapp[15][15];
int dx[5]={-1, 0, 1, 0};
int dy[5]={ 0, 1, 0,-1};
int main() {
	
	
	for(int i=0;i<=10+1;i++)mapp[0][i]='*';
	for(int i=0;i<=10+1;i++)mapp[11][i]='*';
	for(int i=0;i<=10+1;i++)mapp[i][0]='*';
	for(int i=0;i<=10+1;i++)mapp[i][11]='*';
	for(int i=1;i<=10;i++){
		for(int j=1;j<=10;j++){
			cin>>mapp[i][j];
			if(mapp[i][j]=='F'){
				x=i;
				y=j;
			}
			if(mapp[i][j]=='C'){
				a=i;
				b=j;
			}
		}
	}
	int i=0;
	while(x!=a&&y!=b){
		i++;
		if(mapp[x+dx[z]][y+dy[z]]=='*'){
			z=(z+1)%4;
		}
		else{
			x+=dx[z];
			y+=dy[z];
		}
		if(mapp[a+dx[c]][b+dy[c]]=='*'){
			c=(c+1)%4;
		}
		else{
			a+=dx[c];
			b+=dy[c];
		}
		if(i>10000000){
			cout<<0<<'\n';
			return 0;
		}
	}
	cout<<i<<'\n';
	return 0;
}
2025/7/25 18:35
加载中...