1ac9wa求条
查看原帖
1ac9wa求条
1152799
wsy_I楼主2024/12/10 13:54
#include<bits/stdc++.h>
#define MAXN (int)(1e2+1e1)
using namespace std;
int n,m,cnt;
short mv[20][20]={{},{0,1},{0,-1},{1,0},{-1,0},{0,2},{0,-2},{2,0},{-2,0},{1,1},{1,-1},{-1,1},{-1,-1}};
char s[MAXN][MAXN];
bool vis[MAXN][MAXN];
void dfs(int x,int y){
	vis[x][y]=true;
	for(int i=1;i<=n;i++){
		int dx=x+mv[0][i],dy=y+mv[0][i];
		if(dx>0 && dy>0 && dx<n && dy<m && !vis[dx][dy] && s[dx][dy]=='#'){
			dfs(dx,dy);
		}
	}
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++) cin>>s[i][j];
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(!vis[i][j] && s[i][j]=='#'){
				dfs(i,j);
				cnt++;
			}
		}	
	}
	cout<<cnt<<endl;
	return 0;
}

阳历输出 106106,还有 1010 分,这我很惊讶。

2024/12/10 13:54
加载中...