代码报错求调
  • 板块灌水区
  • 楼主PokerKing
  • 当前回复17
  • 已保存回复17
  • 发布时间2024/4/22 19:50
  • 上次更新2024/4/22 22:00:58
查看原帖
代码报错求调
808585
PokerKing楼主2024/4/22 19:50

rt

#include <bits/stdc++.h>

using namespace std;

const int H = 500;
const int W = 500;
int a[H][W];
int f[H][W];
int h, w, m, c = 0;
int uv[4][2] = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};

void visit(int i, int j, int c) {
	if (f[i][j] != 0)
		return;
	f[i][j] = c;
	for (auto [u, v] : uv) {
		int x = i + u;
		int y = j + v;
		if (x < 0 || x >= h || y < 0 || y >= w)
			continue;
		if (abs(a[x][y] - a[i][j]) <= m)
			visit(x, y, c);
	}
}
int main() {
	cin >> h >> w >> m;
	for (int i = 0; i < h; i++)
		for (int j = 0; j < w; j++)
			cin >> a[i][j];
	for (int i = 0; i < h; i++)
		for (int j = 0; j < w; j++)
			if (f[i][j] == 0)
				visit(i, j, ++c);
	cout << c << endl;
	return 0;
}
2024/4/22 19:50
加载中...