AtCoderBeginnerContest045メモ

A問題

A: 台形 / Trapezoids - AtCoder Beginner Contest 045 | AtCoder

指定された数値より台形の面積の公式を解き出力するだけ。

B問題

B: 3人でカードゲームイージー / Card Game for Three (ABC Edit) - AtCoder Beginner Contest 045 | AtCoder

対応する人の捨てたカードをカウントして、受け取った文字列の長さと一致したら出力して終了。

 

C問題

C: たくさんの数式 / Many Formulas - AtCoder Beginner Contest 045 | AtCoder

再帰で全探索することで解く。

再帰関数の引数は受け取っている文字列、読み込んだ数字、今までの合計の答え。

125を12+5としたい場合、10*2+2+5のように考えて行う。

 

D問題

D: すぬけ君の塗り絵 / Snuke's Coloring - AtCoder Regular Contest 061 | AtCoder

 

 盤面のh,wの範囲が10^9あるため、メモリ上に白黒を管理することはほぼ不可能。

黒く塗るマスが10^5個のため、カウントする必要がある問題で要求されている3x3の四角形は最大9x10^5個である。

この個数はカウントする事が可能なので、こちらに注目する。

3x3の四角形の左上の座標を(i,j)として、黒く塗るマスの座標を(a,b)と与えられた場合、(i,j) = (a-k,b-l)(k=0,1,2,l=0,1,2)の四角形に影響することを考えて、最後にこれらの四角形のカウントを行うことで数え切れる。