社区讨论

60分,求助!

P1596[USACO10OCT] Lake Counting S参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@lo7yzze7
此快照首次捕获于
2023/10/27 10:04
2 年前
此快照最后确认于
2023/10/27 10:04
2 年前
查看原帖
代码如下:
C
#include<iostream>
using namespace std;
char a[105][105];
int q[105][105];
void dfs(int x,int y){
	q[x][y]=1;
	if(a[x+1][y]=='W'&&q[x+1][y]==0)
		dfs(x+1,y);
	if(a[x-1][y]=='W'&&q[x-1][y]==0)
		dfs(x-1,y);
	if(a[x][y+1]=='W'&&q[x][y+1]==0)
		dfs(x,y+1);
	if(a[x][y-1]=='W'&&q[x][y+1]==0)
		dfs(x,y-1);
	if(a[x+1][y+1]=='W'&&q[x+1][y+1]==0)
		dfs(x+1,y+1);
	if(a[x-1][y+1]=='W'&&q[x-1][y+1]==0)
		dfs(x-1,y+1);
	if(a[x+1][y-1]=='W'&&q[x+1][y-1]==0)
		dfs(x+1,y-1);
	if(a[x-1][y-1]=='W'&&q[x-1][y-1]==0)
		dfs(x-1,y-1);
	return;
}
int main()
{
	int n,m;
	cin>>n>>m;
	for(int i=1; i<=n; i++)
		for(int j=1; j<=m; j++)
			cin>>a[i][j];
	int cnt=0;
	for(int i=1; i<=n; i++)
		for(int j=1; j<=m; j++)
			if(a[i][j]=='W'&&q[i][j]==0){
				dfs(i,j);
				cout<<i<<" "<<j<<endl;
				cnt++;
			}
	cout<<cnt;
	return 0;
}
评测记录 我还下载了#7,发现果然是错的: in:
CPP
30 30
...........W.W....W.W......WWW
..WWWW..WWW.....W.....W....W.W
..W.......W.......W.W.WW......
.W...WW.W.......W......WW.....
..WWW.............W......WW...
.W...W.......W..W.W.W.....W...
...WW..W..WWW...WW............
W........W.......W...W..W.....
..W.....................WW..W.
.W.....W.W.....WW.......WW..W.
W....W..W....W.W.W..W....W....
.....WWW...W.W.W.WW.....WW.W..
WW..W....W.W..W..W.W...W......
.W.WW..W...W....W..W..W.......
.W..W..W..W..WW..WW.......WWW.
.....WWW......WW.W..WW..W.W...
W.W..W..W..W.......WWW.WW.W.W.
...W...W.WW...W........W..WW..
....W..W....WW.........W...W.W
WWW.......W.......W...W.WWW...
W.......W.....W.WW.W....WW..WW
W.W..WWW....WW........W.W.....
W.W..W.WW...W............WW.W.
.W.W..W...W...WW.WW.W....W.WW.
.WW.W......W...W...WW..W.W....
..W...W..W..W.W.WWWW..W..W..W.
W.W.WW.....WWWW.W...WWW.....W.
WW..........W.......WWW..WWWW.
W.WWWW...WWW.W.WW..W.W.W...WW.
...W..W.....WWWW..W....W..W...
out:
CPP
46
我的输出:
CPP
50

回复

4 条回复,欢迎继续交流。

正在加载回复...