Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cstdio>#include <cmath>#include <unordered_map>#include <unordered_set>#include <algorithm>//#include <set>#include <map>#include <bitset>#include <stack>#include <climits>#include <string>#include <string.h>#include <list>#include <queue>using namespace std;#define ENCODE(r,c) (((r) << 10) + (c))int par[1025 * 1025];bool mat[1024][1024];int get(int s) {if (par[s] == s || par[s] < 0) {return s;}return (par[s] = get(par[s]));}bool set(int s, int p) {