全WA,求调!!!

P11228 [CSP-J 2024] 地图探险

noiiloveyou @ 2024-11-10 17:31:02

#include<bits/stdc++.h>
using namespace std;
int t,n,m,k,x,y,d,x0,y10,d0;
int jieg[5];
char a[1005][1005];
int main(){
    for(int i=0;i<1005;i++){
        for(int j=0;j<1005;j++){
            a[i][j]=' ';
        }   
    }
    cin>>t;
    for(int i=0;i<t;i++){
        cin>>n>>m>>k>>x0>>y10>>d0;
        for(int i1=1;i1<=n;i1++){
            for(int j1=1;j1<=m;j1++){
                cin>>a[i1][j1];
            }
        }
        x=x0;
        y=y10;
        d=d0;
        a[x][y]='0';
        for(int j=1;j<=k;j++){
            if(d==0){
                y+=1;
                if((y>m)||(a[x][y]!='x')){
                    y-=1;
                    d=(d+1)%4;
                }
                a[x][y]='0';
            }
            if(d==1){
                x+=1;
                if((x>n)||(a[x][y]!='x')){
                    x-=1;
                    d=(d+1)%4;
                }
                a[x][y]='0';
            }
            if(d==2){
                y-=1;
                if((y<1)||(a[x][y]!='x')){
                    y+=1;
                    d=(d+1)%4;
                }
                a[x][y]='0';
            }
            if((d==3)||(a[x][y]!='x')){
                x-=1;
                if(x<1){
                    x+=1;
                    d=(d+1)%4;
                }
                a[x][y]='0';
            }
        }
        jieg[t-1]=0;
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                if(a[x][y]=='0'){
                    jieg[t-1]++;
                }
            }
        }
    }
    for(int i=0;i<t;i++){
        cout<<jieg[i]<<endl;
    }
    return 0;
}

by pika_ @ 2024-11-10 18:24:03

每次走完后方向不变, 走不通才变方向


|