33求调
查看原帖
33求调
1311900
Greeper楼主2024/12/8 13:28
#include<bits/stdc++.h>
using namespace std;
char mp[15][15];
int fp,cp;
int fx,fy,cx,cy;
int gx[4]={0,1,0,-1},gy[4]={1,0,-1,0};
int nx,ny;
int main()
{
    for(int i=1;i<=10;i++)
	{
		for(int j=1;j<=10;j++)
		{
			cin>>mp[i][j];
			if(mp[i][j]=='F')fx=i,fy=j;
			if(mp[i][j]=='C')cx=i,cy=j;
		}
	}
    int l=0;
    while((fx!=cx||fy!=cy)&&l<400*400+2)
    {
    	l++;
    	nx=fx+gx[fp];
    	ny=fy+gy[fp];
    	if(nx<1||nx>10||ny<1||ny>10||mp[nx][ny]=='*')fp++,fp%=4;
    	else
    	{
    		fx=nx;
    		fy=ny;
		}
		nx=cx+gx[cp];
    	ny=cy+gy[cp];
    	if(nx<1||nx>10||ny<1||ny>10||mp[nx][ny]=='*')cp++,cp%=4;
    	else
    	{
    		cx=nx;
    		cy=ny;
		}
	}
	if(l==400*400+2)cout<<0;
	else cout<<l;
	return 0;
}
2024/12/8 13:28
加载中...