Mujin Programming Challenge 2018 C問題 - 右折

Source

Mujin Programming Challenge 2018
問題文

問題概要

省略

解法

省略

cLayversion 20190925-1)のコード

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

int X, Y;
char S[2000][2003], t[2000][2000];
int lf[2000][2000];
{
  ll res = 0, tmp;
  rd(X,Y,S(X));

  rep(4){
    rep(i,X) rrep(j,Y){
      if(S[i][j]=='#') lf[i][j] = -1, continue;
      lf[i][j] = j;
      if(j+1 < Y && S[i][j+1]!='#') lf[i][j] = lf[i][j+1];
    }

    rep(j,Y){
      tmp = 0;
      rep(i,X){
        if(S[i][j]=='#') tmp = 0, continue;
        res += tmp;
        tmp += lf[i][j] - j;
      }
    }

    rep(i,X) rep(j,Y) t[i][j] = S[i][j];
    swap(X,Y);
    rep(i,X) rep(j,Y) S[i][j] = t[j][X-1-i];
  }
  wt(res);
}

Current time: 2024年03月28日23時54分42秒
Last modified: 2019年09月26日02時52分35秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder
トップページに戻る

Logged in as: unknown user (not login)

ログイン: