样例没过 求助dalao
查看原帖
样例没过 求助dalao
451506
Hcell楼主2021/8/7 15:29
#include<cstring>
#include<iostream>
#include<cmath>
using namespace std;
char mm[15][15];
int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};
int main()
{ int xc,yc,xf,yf;
  for(int i=0;i<10;i++)
  for(int j=0;j<10;j++)
  {
  	cin>>mm[i][j];
  	if(mm[i][j]=='C')
  	{
  	 xc=i;
	 yc=j;	
	}
	if(mm[i][j]=='F')
	{
		xf=i;
		yf=j;
	}
  }
  //cout<<xc<<yc<<xf<<yf;
  int ans=0;
  int ic=0,iff=0;
  while(1)
  {
  	if(ans>10000)
  	{
  	 cout<<0;
	 return 0;	
	}
	if(xc==xf&&yc==yf)
	break;
	else
	{
	 if(xc+dx[ic]>0&&xc+dx[ic]<10&&yc+dy[ic]>0&&yc+dy[ic]<10&&mm[xc+dx[ic]][yc+dy[ic]]!='*')
	 {
	   xc+=dx[ic];
	  yc+=dy[ic];
     }
     else
     {
     	ic++;
     	ic%=4;
	 }
	 if(xf+dx[iff]>0&&xf+dx[iff]<10&&yf+dy[iff]>0&&yf+dy[iff]<10&&mm[xf+dx[iff]][yf+dy[iff]]!='*')
	 {
	   xf+=dx[iff];
	   yf+=dy[iff];
     }
     else
     {
     	iff++;
     	iff%=4;
	 }
	 ans++;
	}
//	cout<<xc<<yc<<xf<<yf;
  }
  cout<<ans;
}
2021/8/7 15:29
加载中...