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
每次走完后方向不变, 走不通才变方向