社区讨论

谁能救救我家代码

P1518[USACO2.4] 两只塔姆沃斯牛 The Tamworth Two参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mjjlstqc
此快照首次捕获于
2025/12/24 13:59
3 个月前
此快照最后确认于
2025/12/24 17:51
3 个月前
查看原帖
呜呜呜不管怎么改样例都输出0
CPP
#include<bits/stdc++.h>
using namespace std;
char a[11][11];
int sx,sy,ex,ey,fx=1,fx1=1;
int main(){
    for(int i=1;i<=10;i++){
        for(int j=1;j<=10;j++){
            cin>>a[i][j];
            if(a[i][j]=='F') sx=i,sy=j;
            if(a[i][j]=='C') ex=i,ey=j;
        }
    }
    for(int i=1;i<=1e5;i++){
        if(fx==1){
            if(sx==10||a[sx+1][sy]=='*') fx=2;
            else sx++;
        }
        else if(fx==2){
            if(sy==10||a[sx][sy+1]=='*') fx=3;
            else sy++;
        }
        else if(fx==3){
            if(sx==1||a[sx-1][sy]=='*') fx=4;
            else sx--;
        }
        else{
            if(sy==1||a[sx][sy-1]=='*') fx=1;
            else sy--;
        }
        if(fx1==1){
            if(ex==10||a[ex+1][ey]=='*') fx1=2;
            else ex++;
        }
        else if(fx1==2){
            if(ey==10||a[ex][ey+1]=='*') fx1=3;
            else ey++;
        }
        else if(fx1==3){
            if(ex==1||a[ex-1][ey]=='*') fx1=4;
            else ex--;
        }
        else{
            if(ey==1||a[ex][ey-1]=='*') fx1=1;
            else ey--;
        }
        if(sx==ex&&sy==ey){
            cout<<i;
            return 0;
        }
    }
    cout<<0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...