naoya_t@hatenablog

いわゆるチラシノウラであります

〈ABC埋め〉A,B問題埋め

〈ABC埋め〉現行の配点になる前の時代のA,B問題を埋めた。
これでA,B問題のAC率が100%になった。
f:id:n4_t:20180714151312p:plain:w500

基本的にPython2で埋めたが

  • 「ABC 019 B 高橋くんと文字列圧縮」は、RLEのスニペットが使えるか試したかったのでC++で通した。
  • 「ABC 034 A テスト」は部分点50点を得るコードをPHPで書いた。(後述)

以下、教訓としてWA/REの理由を記す。
(提出言語選択を間違えたのは除いてあるけどそれはそれで注意)

A

005 A - おいしいたこ焼きの作り方

  • RE : 自作read_ints()関数をread_int()で呼んでた

022 A - Best Body

  • RE : N-1項目しかないのにN項目めを読もうとしていた

032 A - 高橋君と青木君の好きな数

  • WA : (LCMじゃなくて)GCDを使ってた
  • RE : 関数定義の def lcm(a,b) の後のコロンを忘れてる
メモ
# python<=3.4
from fractions import gcd
def lcm(a, b):
  return a / gcd(a, b) * b

034 A - テスト

  • WA : 「x\lt yを満たすデータ・セットに正解した場合は、50点が与えられる。」というのをやってみたくてわざと出した。PHPで6バイトのコード(というか文字列)。

https://beta.atcoder.jp/contests/abc034/submissions/2836728

B

015 B - 高橋くんの集計

  • RE: math.ceil() を使ってるのに import math を忘れてる

016 B - A±B Problem

  • WA: "+","-" と答えるべきところを "A+B","A-B" と答えている

020 B - 足し算

  • RE: 文字列の置換は .sub() ではなく .replace()

023 B - 手芸王

  • RE+WA: (1)pritn (2)文字列と文字列を比較するつもりが、文字列と文字列の長さを比較していた

024 B - 自動ドア

  • WA: 閉まるタイミングで訪れた客の後に(延長せず)閉めてしまっていた

027 B - 鳥と橋

  • WA:左から・右からの塊しか見ていなかった

この問題はちょっと面白かった。
\displaystyle \sum_{i=1}^{N} a_iがNで割り切れなかったら当然無理
\displaystyle d=\frac{\sum_{i=1}^{N} a_i}{N} として、端から見ていって、幅wのある区間の合計がwdになるように可能な限り細かく分断していったのが答え

028 B - 文字数カウント

  • WA: A,B,C,D,E,Fの出現数を数えるべきなのに1,2,3,4,5,6を数えていた

035 B - ドローン

  • WA: 折角 collections.Counter() を使ってるのにカウントを足し込んでいなかった