求助,33
查看原帖
求助,33
805617
zby0501_楼主2024/6/1 08:40
#include<bits/stdc++.h>
using namespace std;
char a[15][15];
int fx,fy,cx,cy,ans=0,fi=0,ci=0,dx[]={0,1,0,-1},dy[]={1,0,-1,0};
int main(){
	memset(a,'*',sizeof(a));
	for(int i=1;i<=10;++i){
		for(int j=1;j<=10;++j){
			cin>>a[i][j];
			if(a[i][j]=='F')
				fx=i,fy=j;
			if(a[i][j]=='C')
				cx=i,cy=j;
		}
	}
	while(ans<=2000){
		++ans;
		if(a[cx+dx[ci]][cy+dy[ci]]=='*') ci=(ci+1)%4;
		else cx+=dx[ci],cy+=dy[ci];
		if(a[fx+dx[fi]][fy+dy[fi]]=='*') fi=(fi+1)%4;
		else fx+=dx[fi],fy+=dy[fi];
		cout<<fx<<" "<<fy<<' '<<cx<<' '<<cy<<endl;
		if(cx==fx && cy==fy){
			cout<<ans<<endl;
			return 0;
		}
		
	}
	cout<<0<<endl;
	return 0;
}
/*
*...*.....
......*...
...*...*..
..........
...*.F....
*.....*...
...*......
..C......*
...*.*....
.*.*......
*/

离答案很近了!

2024/6/1 08:40
加载中...