Toy と帽子と ADP BE

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

AtCoder Beginner Contest 314

4完。

各問題

A - 3.14

ABC314ということで円周率にちなんだ問題が出るのではと予想している人もいましたが、実際出ましたね。

問題文から円周率の値をコピーして文字列として扱い、前からN+2文字分を出力すればよいです。

B - Roulette

まず、だれがXに賭けていたかと、賭けていた人のうちで賭けた目が最も少ないものを探索します。

次に賭けていた人かつ賭けた目の数が先ほど抽出した最も少ないものと一致する人を答えとして抽出します。

C - Rotate Colored Subsequence

最初にSを後ろから捜査して、各色で一番後ろに位置する文字を抽出します。

次にSを前から捜査して、そこの色について抽出した文字とそこにある文字を交換します。あとはその繰り返しです。

D - LOWER

2または3の操作はすべてを上書きしてしまうので最後に行ったものだけが有効です。1の操作については、最後に行った2または3の操作より後についてはその影響を受けないので大文字小文字は指定されたものから変化しません。前についてはもちろん影響を受けます。

なので、最初にクエリを保存しながら読んで、最後の2, 3の操作がどこであるかをまず確定します。1の操作については最後の2, 3の操作より前か後かで大文字小文字が変わりうるかどうかを判断可能です。

E - Roulettes

入力例1で、2番目の操作を4回やれば期待値14超えるんじゃないの?となって(見当違いなんだろうな...)、何もわからんとなりました。

F - A Certain Game

Union Find を使用してチームを管理し、愚直に計算していきましたが入力例1しか合わず...。なにか根本的に間違っている?

まとめ

EとFの配点が475ということで、水色は6完が求められている?と思わされたのですが、どうやらそうではなく相対的にそういう配点になったようにみえます。ということで、4完でもそこそこのパフォが出ました。Fはそこそこいい線行ってたっぽいので何とかしたかったですが。