站外题求条,(玄关)
  • 板块题目总版
  • 楼主ToMaT
  • 当前回复11
  • 已保存回复11
  • 发布时间2024/7/21 19:33
  • 上次更新2024/7/21 20:48:27
查看原帖
站外题求条,(玄关)
1272608
ToMaT楼主2024/7/21 19:33

#include<iostream>
using namespace std;
char a[200][200];
int n,m;
int x[5]={0,0,0,-1,1},y[5]={0,1,-1,0,0};
long long cnt=0;
void vc(int x1,int y1){
	for(int i=1;i<=4;++i){
		int x2=x1+x[i];
		int y2=y1+y[i];
		if(a[x2][y2]!='0'&&a[x2][y2]!='@'&&x2>=1&&x2<=n&&y2>=1&&y2<=m){
			a[x2][y2]='@';
			vc(x2,y2); 
		}
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;++i){
		for(int j=1;j<=m;++j){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=n;++i){
		for(int j=1;j<=m;++j){
			if(a[i][j]!='0'&&a[i][j]!='@'){
				cnt++;
				vc(i,j);
			}
		}
	}
	cout<<cnt; 
	return 0;
}
2024/7/21 19:33
加载中...