Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <bits/stdc++.h>using namespace std;const int maxn = 805;int dir[4][2] = {{0,1},{1,0},{0,-1},{-1,0}};string g[maxn];int res[maxn][maxn];bool vis[maxn][maxn];vector<int>G[maxn];vector<int>V;int n, m;bool judge(int x, int y) {if (x >= 0 && x < n && y >= 0 && y < m && !vis[x][y] && g[x][y] =='1')return true;return false;}// void init() {// for (int i = 0; i < n; ++i) {// for (int j = 0; j < m; ++j) {// int id = i*m + j;// if (g[i][j] == '0')// V.push_back(id);// for (int k = 0; k < 4; ++k) {// int dx = i + dir[k][0];// int dy = j + dir[k][1];// if (judge(dx, dy)) {