- C++
洛谷P1162
- 2024-12-27 23:14:41 @
#include <stdio.h>
#include <vector>
using std::vector;
vector < vector <int> > num;
vector <int> in_num;
void dfs(int row, int col) {
if(row < 0 || row >= num.size() || col < 0 || col >= num.size() || num[row][col] != 0) {
return;
}
num[row][col] = 2;
dfs(row - 1, col);
dfs(row + 1, col);
dfs(row, col - 1);
dfs(row, col + 1);
return;
}
int main() {
int a;
scanf("%d",&a);
in_num.resize(a + 2, 0);
num.push_back(in_num);
for(int i = 0; i < a; ++i) {
vector <int> tmp_arr;
tmp_arr.push_back(0);
for(int t = 0; t < a; ++t) {
int tmp;
scanf("%d",&tmp);
tmp_arr.push_back(tmp);
}
tmp_arr.push_back(0);
num.push_back(tmp_arr);
}
num.push_back(in_num);
dfs(0, 0);
for(int i = 1; i <= a; ++i) {
for(int t = 1; t <= a; ++t) {
if(num[i][t] == 0) {
printf("2 ");
}
else if(num[i][t] == 1) {
printf("1 ");
}
else {
printf("0 ");
}
}
printf("\n");
}
return 0;
}
黄老师你罪该万死 别教贪心了 我都学到dfs了
1 comments
-
陈锦润 LV 8 @ 2024-12-27 23:19:12
期待寒假班的第n天
- 1