求助,本地和洛谷运行不一致
查看原帖
求助,本地和洛谷运行不一致
192631
学而思李老师楼主2021/2/24 08:32

RT

#include <cstdio>
#include <algorithm>
#include <iostream>
#include <string>
using namespace std;

const int NR = 205;
int a[NR][NR];
string s;
int n, m, ans;
char ch;

const int dx[] = {0, -1, 0, 0, 1};
const int dy[] = {0, 0, -1, 1, 0};

void dfs(int x, int y)
{
	if(x < 1 || x > n || y < 1 || y > m)
		return;
	if(a[x][y] == 0)
		return;
	a[x][y] = 0;
	for(int i = 1; i <= 4; i ++)
	{
		int xx = x + dx[i], yy = y + dy[i];
		dfs(xx, yy);
	}
}

int main()
{
	cin >> n;
	cin >> ch;
	for(int i = 1; i <= n; i ++)
	{
		getline(cin, s);
		int len = s.length();
		for(int j = 0; j < len; j ++)
		{
			if(s[j] == '*' || s[j] == ' ')
				a[i][j+1] = 0;
			else
				a[i][j+1] = 1;
		}
		m = max(m, len);
	}
	
	for(int i = 1; i <= n; i ++)
		for(int j = 1; j <= m; j ++)
		{
			if(a[i][j] == 1)
			{
				ans ++;
				dfs(i, j);
			}
		}
	cout << ans << endl;
	return 0;
}

错误数据截图:(本地运行出来是正确答案16,洛谷IDE却是18)

2021/2/24 08:32
加载中...