AtCoder Regular Contest 061/AtCoder Beginner Contest 045 D問題 - すぬけ君の塗り絵 / Snuke's Coloring

Source

AtCoder Regular Contest 061
AtCoder Beginner Contest 045
問題文 (ARC)
問題文 (ABC)

問題概要

省略

解法

省略

cLayversion 20190921-1)のコード

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

int H, W, N, A[1d5], B[1d5];
ll res[10];
{
  int j;
  set< pair<int,int> > black, used;
  rd(H,W,N,(A--,B--)(N));
  res[0] = (ll) (H-2) * (W-2);
  rep(i,N) black.insert( make_pair(A[i], B[i]) );
  rep(i,N) rep(x,A[i]-1,A[i]+2) rep(y,B[i]-1,B[i]+2){
    if(x-1 < 0 || x+1 >= H || y-1 < 0 || y+1 >= W) continue;
    if(used.count( make_pair(x,y) )) continue;
    used.insert( make_pair(x,y) );
    j = 0;
    rep(xx, x-1, x+2) rep(yy, y-1, y+2) j += black.count( make_pair(xx,yy) );
    res[0]--;
    res[j]++;
  }
  rep(i,10) wt(res[i]);
}

Current time: 2021年09月28日07時50分50秒
Last modified: 2019年09月21日11時56分05秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Regular_Contest AtCoder_Beginner_Contest ARC061 ABC045 ARC_B ABC_D
トップページに戻る

Logged in as: unknown user (not login)

ログイン: