#pragma region include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include //#include #include #pragma endregion //#include ///////// #pragma region typedef typedef long long LL; typedef long double LD; typedef unsigned long long ULL; typedef std::pair PLL;// typedef std::pair PII;// #pragma endregion //typedef ////定数 const int INF = (int)1e9; const LL MOD = (LL)1e9+7; const LL LINF = (LL)4e18+20; const LD PI = acos(-1.0); const double EPS = 1e-9; ///////// using namespace::std; int H,W; vector< vector > field; const int UF_SET_MAX = 40000; class unionfind_set{ int cNum;//要素数 vector< bitset > other; vector parent; vector color; public: unionfind_set(int n){ cNum = n; parent = vector(n); other = vector< bitset >(n); color = vector(n); for(int i=0;i temp = other[x]; set_color(x,color); for(int i=0;i> H >> W; field = vector< vector >(H,vector(W)); unionfind_set ufs(H*W); for(int h=0;h> field[h][w]; } } for(int r=0;r> Q; int R,C,X; while(Q--){ cin >> R >> C >> X; --R;--C; if( ufs.get_color( R*W+C ) != X ){ ufs.grow(R*W+C, X); } /*{ for(int r=0;r