Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

AtCoder Beginner Contest 144

4完。ノーペナ。

まずDの感想

私は数学の問題が解きたくてAtCoderはじめたわけじゃないので、今回のDのような問題が今後も頻繁に出るようだと、さすがにちょっと考えてしまいます。

いやー、だって本当にただの数学(逆三角関数の部分を除くと算数)の問題で、特にプログラミング必要としないやん? プログラミングコンテストですよねAtCoderって?

まあでも、これはいい悪いの問題じゃなくて、単にAtCoderと自分の指向性があってないだけなのだと思います、はい。

(2019-10-28 00:05 追記)

ツイートなどを追ってみると、tanは数学でatanはプログラミングだから、という意見があるようなんですが、私はどっちも数学ではないか(大差ないのではないか)、という意見ですねぇ・・・。

(追記ここまで)

各問題

A - 9x9

AまたはBが10以上なら、九九の範囲に収まらないので-1を出力。そうでなければA * B

B - 81

何も考えず1から9までの二重ループをまわして九九を計算し、Nと一致するものがあればYes、81個の解すべてが一致しなければNoです。

C - Walk on Multiplication Table

Nが書かれている場所のiとjに関して、i * jはNとなりますし、i, jともにNの約数となります。

なので、Nの約数を求めて、そこから考えうるiとjに関して(1, 1)からの距離を計算し、最小のものを採用すればよいです。 Nの約数の個数は大した量ではないので、全部見ても余裕で間に合います。

D - Water Bottle

今回の問題児D問題です。

逆三角関数 - Wikipedia

角度についてはここでもみればいいんじゃないですかね。それ以外にはもはや算数の要素しかありません。

なお、実際の私はというと

これをうっかりしていてかなりドタバタしてしまいました。もういやだ・・・。

E - Gluttony

残った時間考えましたが、全然浮かんでこず。

F - Fork in the Road

みてません。

まとめ

もうとにかくDが全て。

問題に納得いかないということもあり、自分の間抜けさで無駄に時間を消費したということもあり。

レートも冷えたし心も冷えてしまいました。

立ち直れるかしら・・・?

f:id:mdstoy:20191027231708p:plain