0分求助!
查看原帖
0分求助!
768144
_Trangle_楼主2022/11/11 19:02

求求大佬们帮帮本蒟蒻吧!

#include<stdio.h>
#include<string.h>
using namespace std;
const int dx[]={0,1,0,-1},dy[]={-1,0,1,0};
int main(){
    char c[12][12];
    memset(c,'*',sizeof(c));
    int i,j,tx,ty,td=0,fx,fy,fd=0,ans=0;
    bool flag1=1,flag2=1;
    for(i=1;i<11;i++){
        for(j=1;j<11;j++){
            c[i][j]=getchar();
            if(c[i][j]=='C'){tx=i;ty=j;}
            if(c[i][j]=='F'){fx=i;fy=j;}
        }
        getchar();
    }
    for(i=0;i<4;i++)
        if(c[tx+dx[i]][ty+dy[i]]!='*')
            flag1=0;
    for(i=0;i<4;i++)
        if(c[fx+dx[i]][fy+dy[i]]!='*')
            flag2=0;
    if(flag1 || flag2) ans=160001;
    while(ans<=160000){
        while(c[tx+dx[td]][ty+dy[td]]=='*') td=(td+1)%3;
        while(c[fx+dx[fd]][fy+dy[fd]]=='*') fd=(fd+1)%3;
        tx+=dx[td];ty+=dy[td];
        fx+=dx[fd];fx+=dy[fd];
        ans++;
        if(tx==fx && ty==fy){
            printf("%d",ans);
            return 0;
        }
    }
    putchar(48);
    return 0;
}
2022/11/11 19:02
加载中...