KickStart Round H 2020 4問目 - Friends

Source

KickStart Round H 2020
問題文

問題概要

省略

解法

省略

cLayversion 20201115-2)のコード

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

int TEST;
int N, Q, S[1d5], X, Y;
char buf[22]; int len;
int dist[26][26];
int res[1d5];
{
  REP(TEST,rd_int()){
    wtF("Case #{TEST+1}: ");
    rd(N,Q);
    rep(i,N){
      rd(buf@len);
      S[i] = 0;
      rep(j,len) S[i] |= (1<<(buf[j]-'A'));
    }
    rep(j,26) rep(k,26) dist[j][k] = int_inf;
    rep(i,26) dist[i][i] = 0;
    rep(i,N) rep(j,26) if(BIT_ith(S[i],j)) rep(k,j+1,26) if(BIT_ith(S[i],k)) dist[j][k] = dist[k][j] = 1;
    rep(k,26) rep(i,26) rep(j,26) dist[i][j] <?= dist[i][k] + dist[k][j];
    rep(q,Q){
      rd(X--, Y--);
      res[q] = int_inf;
      if(S[X] & S[Y]) res[q] = 2, continue;
      rep(j,26) if(BIT_ith(S[X],j)) rep(k,26) if(BIT_ith(S[Y],k)) res[q] <?= dist[j][k]+2;
      if(res[q]==int_inf) res[q] = -1;
    }
    wt(res(Q));
  }
}

Current time: 2024年04月19日06時15分10秒
Last modified: 2020年11月15日16時54分56秒 (by laycrs)
Tags: Competitive_Programming_Incomplete KickStart
トップページに戻る

Logged in as: unknown user (not login)

ログイン: