Codeforces Global Round 12 C2問題 - Errich-Tac-Toe (Hard Version)

Source

Codeforces Global Round 12 C2問題 (750pt)
Problem description

問題概要

省略

解法

省略

cLayversion 20201206-1)のコード

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

//no-unlocked
int N;
char S[300][302];
int pt[1000];
int cost[1000][3];
int res[1000], res_cost, tmp;
{
  REP(rd_int()){
    res_cost = int_inf;
    rd(N,S(N));
    rep(i,2*N) rep(j,3) cost[i][j] = 0;
    rep(i,N) rep(j,N){
      if(S[i][j] == 'O') cost[i+j][0]++;
      if(S[i][j] == 'X') cost[i+j][1]++;
    }
    rep(ps,-1,2) if(ps) rep(st,3){
      rep(i,2*N) pt[i] = (st + i * ps) %% 3;
      tmp = sum[i,0,2*N](cost[i][pt[i]]);
      if(tmp < res_cost){
        res_cost = tmp;
        rep(i,2*N) res[i] = pt[i];
      }
    }

    rep(i,N) rep(j,N){
      if(res[i+j]==0 && S[i][j] == 'O') S[i][j] = 'X', continue;
      if(res[i+j]==1 && S[i][j] == 'X') S[i][j] = 'O', continue;
    }
    wtLn(S(N));
  }
}

Current time: 2022年05月18日10時00分52秒
Last modified: 2020年12月11日22時52分19秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces Codeforces_Global_Round_12
トップページに戻る

Logged in as: unknown user (not login)

ログイン: