洛谷P1162 填涂颜色

题目来源:https://www.luogu.com.cn/problem/P1162

bfs水题,把1和其包围圈视为一个整体,对其周围“注水”。
第一次提交过了两个测试点,查询后发现在bfs函数中
void bfs(int x, int y) { q.push({ 0,0 }); while (!q.empty()) { Pi needn = q.front(); q.pop(); for (int i = 0;i < 4;i++) { int nx = needn.first + dx[i]; int ny = needn.second + dy[i]; if (nx >= 0 && nx <= n + 1 && ny >= 0 && ny <= n + 1 && mp[nx][ny] == 0) { mp[nx][ny] = 3; q.push({ nx,ny }); } } } }
“nx >= 0 && nx <= n + 1 && ny >= 0 && ny <= n + 1”错误设置为了nx<=n\ny<=n,导致外围“注水”失败,
改正后AC。

posted @ 2025-04-28 19:55  yubai111  阅读(8)  评论(0)    收藏  举报