Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
334976 | 黄浙峰老师 | 【C6-7】数池塘(四方向) | C++ | 通过 | 100 | 3 MS | 268 KB | 599 | 2025-07-21 11:02:18 |
#include<bits/stdc++.h> using namespace std; int n,m; char a[110][110]; int dx[5]={0,0,1,0,-1}; //右下左上 int dy[5]={0,1,0,-1,0}; void dfs(int x, int y){ a[x][y]='.'; for(int i=1; i<=4; i++){ int tx=x+dx[i]; int ty=y+dy[i]; //不用判断是否出边界 if(a[tx][ty]=='W') dfs(tx,ty); } } int main(){ cin>>n>>m; int cnt=0; 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]=='W'){ cnt++; dfs(i,j); } } } cout<<cnt; return 0; }