求大佬调代码
查看原帖
求大佬调代码
1405339
wangyuexuan楼主2025/7/22 21:43
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=10100;
ll t,n,m,k,x,y,d,cnt=0,b[N][N];
char a[N][N];
int main(){
    cin>>t;
    while(t--){
        cin>>n>>m>>k;
        cin>>x>>y>>d;
        b[x][y]=1;
        for(ll i=1;i<=n;i++)
            for(ll j=1;j<=m;j++)
                cin>>a[i][j];
        while(k--){
            if(d==0){
                if(a[x][y+1]=='.'){
                    b[x][y+1]=1;
                    y=y+1;
                }else d=(d+1)%4;
            }else if(d==1){
                if(a[x+1][y]=='.'){
                    b[x+1][y]=1;
                    x=x+1;
                }else d=(d+1)%4; 
            }else if(d==2){
                if(a[x][y-1]=='.'){
                    b[x][y-1]=1;
                    y=y-1;
                }else d=(d+1)%4;
            }else if(d==3){
                if(a[x-1][y]=='.'){
                    b[x-1][y]=1;
                    x=x-1;
                }else d=(d+1)%4;
            }
        }
        for(ll i=1;i<=n;i++){
            for(ll j=1;j<=m;j++){
                if(b[i][j]==1) cnt++;
            }
        }
        cout<<cnt<<endl;
    }
    return 0;
}
2025/7/22 21:43
加载中...