yukicoder No.1266 - 7 Colors

Source

ニコニコミュニティ
問題文

問題概要

省略

解法

省略

cLayversion 20201018-2)のコード

C++に変換後のコードはこちら

int N, M, Q, A[1d5], B[1d5], T, X, Y;
graph g;
char S[1d5][9];
{
  int x, y;
  unionFind uf;
  rd(N,M,Q,S(N),(A--,B--)(M));
  g.setEdge(N,M,A,B);
  uf.walloc(N*7, 1);
  rep(i,N) rep(j,7) if(S[i][j]==S[i][(j+1)%7]=='1') uf(i*7+j, i*7+(j+1)%7);
  rep(i,M) rep(j,7) if(S[A[i]][j]==S[B[i]][j]=='1') uf(A[i]*7+j, B[i]*7+j);

  rep(Q){
    rd(T, X--, Y--);
    if(T==1){
      S[X][Y] = '1';
      if(S[X][Y]==S[X][(Y+1)%%7]=='1') uf(X*7+Y, X*7+(Y+1)%%7);
      if(S[X][Y]==S[X][(Y-1)%%7]=='1') uf(X*7+Y, X*7+(Y-1)%%7);
      rep[g.edge[X]](i,g.es[X]) if(S[X][Y]==S[i][Y]=='1') uf(X*7+Y, i*7+Y);
    } else {
      wt(uf.size(X*7));
    }
  }
}

Current time: 2024年04月17日03時10分35秒
Last modified: 2020年10月24日18時42分56秒 (by laycrs)
Tags: Competitive_Programming_Incomplete yukicoder
トップページに戻る

Logged in as: unknown user (not login)

ログイン: