Help us understand the problem. What is going on with this article?

B埋めの感想

自己紹介

waradi_stringといいます。とりあえず緑を目指して精進中です。投稿時点で灰222ですので、まだまだ浅いと言えると思います。
Qiitaを使い始めたばかりなので、ミスの指摘などどんどんください。

はじめに

9月上旬にABC-B埋めというものを見つけて参加した。9/23(9/24未明)に終わった。

順調に全部解けたという訳ではなかったので、備忘録としてここに残しておく。主に、初見では解けず、考え直したりカンニングしたりして解いた問題を挙げる。

ABC140-B Buffet

やるだけ・・・のはずだったのに、考察が必要なものだと勘違いしてしまったっぽい。
まあ配列3つだし場合分けも必要だし、見た目が厳ついのは否めない。実装は正確にやれば素直。

ABC030-B 時計盤

実装方法で-360°〜360°をとることに気がつかず、負の値の場合に360°を足すのを忘れていた。absを取らなかったのはえらい。180°前後での場合分けは忘れていなかったので、えらい。()

ABC035-B ドローン

苦戦①。最大値を合わせるのはx軸y軸?3つに分けて管理すればできるとして、最小値が問題。最小値が0じゃない場合があるのに気づけない。さらに偶奇場合分け...めんどくさい。何とか通した。

ABC026-B N重丸

cout<<fixed<<setprecisionを忘れてただけ。doubleにintを足すとdoubleで保持してくれるのね、便利。

ABC051-B Sum of Three Integers

$O(N^3)$だと思ってバグらせていたが、XとYが決まればS-X-Yだけ調べればいいので、$O(N^2)$だった。まだまだだね。

ABC050-B Contest with Drinks Easy

添字の問題。TにPを入れてもいいけど、XにPを入れないで。意味的にもずれたものになるし。ここのデバッグだけしたら通った。

ABC097-B Exponential

普通に誤読していて、Xが素数ならそれが答えになると思っていた。問題文の冪乗数をX以下で全探索して、全部priority_queueに突っ込んで終わり。ところで貪欲でよくない?

ABC125-B Resale

入力はN+1行じゃなくて3行だった...正しく実装すれば大丈夫。

ABC047-B すぬけ君の塗り絵 2 イージー

苦戦②。縦と横でbool管理して更新、最後に両方白である区間を足していけば答えになると思ったけど、WA2つが取れない。(実装ミスで縦と横を逆にするとWA減るけど、罠です)
他の方の回答コードを参照して、白の長方形の4辺がどこにあるか管理していくようにしてAC。なんでバグるんだ...?

ABC060-B Choose Integers

Aの倍数を全探索して$10^8$個やっても見つからなければ無理、でよくない?→AC。まあたぶんB個でいいんでしょう。
最初はB*(動かしていく)+Cを動かしていて、どういうわけかif文をバグらせていたので罪深い。何を考えていたのか全くわからない。

ABC066-B ss

std::substringを使えば「消す」なんて行動に焦点を当てる必要はない。最大値は脳死でpriority_queue(貪欲でいいじゃん:2回目)

ABC075-B Minesweeper

文字列入力に抵抗を感じていたが、'0'+(int0〜9)で文字列にできるとわかれば何とかなった。端っこはmaxやminをうまく使って、配列エラーが起きないように気をつける。

ABC108-B Ruined Square

ガウス平面で計算すると、直角二等辺三角形の三頂点は、反時計回りに(a,b),(c,d)(直角),(a+c-d,c+d-a)なので、これを2回やって出力すればOK。数学問っぽい。

ABC014-B 価格の合計

いいbit問題。これ灰diffなの?と思って見たら茶diffだった。やっぱり。
ABC173-C H and Vと合わせて学ぶとちゃんと身につく感じがする。bitというだけで後回しにしてました。ごめんなさい。

ABC027-B 島と橋

最初はキツそうだと思ったが考えすぎで、左から人数を合計していって、均等になる人数×島の数に等しくなった時橋は要らないってだけ。そもそも均等にできないならerror(-1)。

終わりに

Bを瞬時に解けるといいですよね。まあ最初からできてたらこの記事もないでしょうが。
頑張るぞぉ

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away