10分,求助
查看原帖
10分,求助
751841
jktm_666楼主2024/10/27 15:34
#include<bits/stdc++.h>
using namespace std;
char a[1001][1001];
int b[1001][1001],num[6];
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		int n,m,k,x,y,d;
		cin>>n>>m>>k>>x>>y>>d;
		for(int j=1;j<=n;j++){
			for(int k=1;k<=m;k++){
				cin>>a[j][k];
			}
		}
		b[x][y]=1;
		for(int j=1;j<=k;j++){
			if(d==0){
				y++;
				if(y>m||a[x][y]=='x'){
					y--;
					d++;
					d%=4;
					continue;
				}
				b[x][y]++; 
			}
			if(d==1){
				x++;
				if(x>n||a[x][y]=='x'){
					x--;
					d++;
					d%=4;
					continue;
				}
				b[x][y]++; 
			}
			if(d==2){
				y--;
				if(y==0||a[x][y]=='x'){
					y++;
					d++;
					d%=4;
					continue;
				}
				b[x][y]++; 
			}
			if(d==3){
				x--;
				if(x==0||a[x][y]=='x'){
					x++;
					d++;
					d%=4;
					continue;
				}
				b[x][y]++; 
			}							
		}
		for(int j=1;j<=n;j++){
			for(int k=1;k<=m;k++){
				if(b[j][k]>0){
					num[i]++;
				}
			}
		}
	}
	for(int i=1;i<=n;i++){
		cout<<num[i]<<endl;
	} 
	return 0;
}
2024/10/27 15:34
加载中...