蒟蒻求助,就3个AC
查看原帖
蒟蒻求助,就3个AC
787602
Tachikawa_Ruri楼主2022/12/25 15:57
# include<bits/stdc++.h>
using namespace std;
char a[12][12];
int i,j,f[3],g[3],minu=0;
void move(int b,int c)
{
   if(b==0)
   {
       if(c==1)
       {
           if(a[f[1]-1][f[2]]=='*') f[0]=1;
           else f[1]-=1;
       }
       else
       {
           if(a[g[1]-1][g[2]]=='*') g[0]=1;
           else g[1]-=1;
       }
   }
   else if(b==1)
   {
       if(c==1)
       {
           if(a[f[1]][f[2]+1]=='*') f[0]=2;
           else f[2]+=1; 
       }
       else
       {
           if(a[g[1]][g[2]+1]=='*') g[0]=2;
           else g[2]+=1;
       }
   }
   else if(b==2)
   {
       if(c==1)
       {
           if(a[f[1]+1][f[2]]=='*') f[0]=3;
           else f[1]+=1;
       }
       else
       {
           if(a[g[1]+1][g[2]]='*') g[0]=3;
           else g[1]+=1;
       }
   }
   else
   {
       if(c==1)
       {
           if(a[f[1]][f[2]-1]=='*') f[0]=0;
           else f[2]-=1;
       }
       else
       {
           if(a[g[1]][g[2]-1]=='*') g[0]=0;
           else g[2]-=1;
       }
   }
}
int main()
{
   f[0]=0,g[0]=0;
   for(i=1;i<=10;i++)
   for(j=1;j<=10;j++)
   {
       cin>>a[i][j];
       if(a[i][j]=='F') 
       {
           f[1]=i;
           f[2]=j;
       }
       if(a[i][j]=='C')
       {
           g[1]=i;
           g[2]=j;
       }
   }
   for(i=0;i<=11;i++)
   for(j=0;j<=11;j++)
   {
       if(i==0||i==11) a[i][j]='*';
       if(j==0||j==11) a[i][j]='*'; 
   }
   while(minu<500000)
   {
       move(f[0],1);//people
       move(g[0],0);//cow
       minu++;
       if(f[1]==g[1]&&f[2]==g[2])
       break;
   }
   if(minu==500000) {cout<<"0";return 0;}
   cout<<minu; 
}
2022/12/25 15:57
加载中...