求助!!!违规紫衫
  • 板块灌水区
  • 楼主wangshuhan0121
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/8/27 09:10
  • 上次更新2024/8/27 11:45:16
查看原帖
求助!!!违规紫衫
1012159
wangshuhan0121楼主2024/8/27 09:10

为什么这个代码我运行会错误

#include<bits/stdc++.h>
using namespace std;
int s,n,m,a[205][205],h,t,q[40005][3];
int fx[5]={0,0,1,0,-1};
int fy[5]={0,1,0,-1,0};
int tx,ty;
bool f[205][205];
int sun;
int main(){
	cin>>s;
	while(s){
		h=1;t=1;
		sun=0;
		memset(f,0,sizeof(f));
		int x,y;
		cin>>n>>m;
		for(int i=1;i<=n;i++){
			for(int j=1;i<=m;j++){
				cin>>a[i][j];
				if(a[i][j]=='r'){
					x=i;
					y=j;
				}
			}
		}
		q[1][1]=x;
		q[1][2]=y;
		f[x][y]=1;
		while(h<=t){
			for(int i=1;i<=4;i++){
				tx=q[t][1]+fx[i];
				tx=q[t][2]+fy[i];
				if(tx>=1&&tx<=n&&ty>=1&&ty<=m&&!f[tx][ty]&&a[tx][ty]!='#'){
					t++;
					q[t][1]=tx;
					q[t][2]=ty;
					sun++;
					if(a[tx][ty]=='x')sun++;
					f[tx][ty]=1;
				}
			}
			h++;
		}
		cout<<sun<<'\n';
		s--;
	}
	return 0;
}

2024/8/27 09:10
加载中...