我是靠谱客的博主 优雅洋葱,这篇文章主要介绍1994统计W 块,现在分享给大家,希望可以做个参考。

统计W 块

Time Limit: 1 Seconds     Memory Limit: 32768 K

Total Submit:89     Accepted:38


Description

给你一个N行M列矩形,矩形中只含’.’和’W’,要你统计含有多少个’W’的块。一个W与其相邻的八个方向上的W同属于一个块。

Input

第一行 N,M (1 <= N <= 100; 1 <= M <= 100)
以下是一个N行M列的矩形。

Output

只有一行,矩形中含有的W块的个数。

Sample Input

复制代码
1
2
3
4
5
6
7
8
9
10
11
10 12 W........WW. .WWW.....WWW ....WW...WW. .........WW. .........W.. ..W......W.. .W.W.....WW. W.W.W.....W. .W.W......W. ..W.......W.

 

Sample Output

复制代码
1
3

简单的搜索题

Source:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include<iostream> using namespace std; int n,m,c,d; char a[100][100]; bool find(int i,int j) { for(c=i;c<n;c++) for(d=j;d<m;d++) if(a[c][d]=='W') { return true; break; } return false; } void doit(int i,int j) { if(i>=0&&i<n&&j>=0&&j<m&&(a[i][j]=='W')) { a[i][j]='.'; doit(i+1,j); doit(i+1,j+1); doit(i+1,j-1); doit(i-1,j+1); doit(i-1,j-1); doit(i-1,j); doit(i,j+1); doit(i,j-1); } } int main() { int i,j,sum; cin>>n>>m; for(i=0;i<n;i++) for(j=0;j<m;j++) cin>>a[i][j]; sum=0; while(find(0,0)) { doit(c,d); sum++; } cout<<sum<<endl; return 0; }

 

最后

以上就是优雅洋葱最近收集整理的关于1994统计W 块的全部内容,更多相关1994统计W内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部