提交时间:2024-05-03 11:37:47
运行 ID: 46369
#include<bits/stdc++.h> using namespace std; char f[505][505]; int s[505][505]; void dfs(int i,int j){ if(s[i][j])return; if(f[i][j]=='X')s[i][j]=-1; else{ s[i][j]=1; dfs(i-1,j); dfs(i+1,j); dfs(i,j-1); dfs(i,j+1); } } int main(){ int n,m,cnt; cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>>f[i][j]; } } for(int i=0;i<=n+1;i++){ s[i][0]=s[i][m+1]=-1; } for(int j=0;j<=m+1;j++){ s[0][j]=s[n+1][j]=-1; } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(!s[i][j]&&f[i][j]=='R'){ cnt++; dfs(i,j); } } } cout<<cnt; return 0; }