AtCoder Beginner Contest 023

 2つ目。

結果

 300/400 62:09(4) 53位相当


 開始時刻 2017/08/05 13:09:00 提出履歴

A: 加算王 - AtCoder Beginner Contest 023 | AtCoder

 0:46(AC)
 制約条件的に、N/10 + N%10が答え。

B: 手芸王 - AtCoder Beginner Contest 023 | AtCoder

 8:02(WA)34:36(AC)
 初めはいろいろ考えて判定させたけど、考察不足でWA。せいぜいが100文字なので、シミュレーションで十分間に合うから、シミュレーションに切り替えてAC。

C: 収集王 - AtCoder Beginner Contest 023 | AtCoder

 29:15(RE)37:30(RE)41:18(RE)42:09(AC)
 各行各列に対して、何個の飴があるかを一度まとめて、次にn個の飴がある行の数、列の数をそれぞれまとめる。\sum_{k=0}^K (k個の飴がある行)*(K-k個の飴がある列)でおおよその答えは出せる。ただし、行と列の交差するところ(つまり選んだマス)に飴がある場合、その飴は重複して数えられるので、KではなくてK+1にならないといけない。そこで、各飴の座標に対して、個々に飴の数を数えて、Kなら1減らし、K+1なら1増やすことをすれば、答えが出る。
 WAは配列の確保ミス。動的配列じゃなくて静的配列で確保した方がこういうミス減るのかなぁ、どうなんだろう。

D: 射撃王 - AtCoder Beginner Contest 023 | AtCoder

 未提出
 難しい。解説を見て、高さを制限すれば貪欲に答えが求められるって書いてあったけど、全然納得できてない。これは真面目に解き直さないと。
 (23:30追記)今更気づいたけど、求めるのはペナルティの和じゃなくて最大値か!完全に問題文を読み違えてた。それなら貪欲も納得できる。

感想

 D問題が解けないなぁ。ARC2問目レベルだと思うと、安定して解けるようになりたい。