Toy と帽子と ADP BE

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

AtCoder Beginner Contest 292

4完1WA

各問題

A - CAPS LOCK

各文字から 'a' - 'A' を引いたものを文字として出力すればよいです。

B - Yellow and Red Card

各選手の取得カード枚数を配列で保持しておくようにして、イエローカードをもらったら +1、レッドカードなら +2 して、判定時には 2 以上かどうかをチェックすればよいです。

C - Four Variables

AB を 1 から N - 1 まで全探索します。A と B が何を取りうるかは AB を素因数分解すればわかります。(これ書いてて気づいたんですが、約数列挙でよかったのでは...。)

D - Unicyclic Components

まず、連結成分に含まれる頂点の個数と辺の本数が等しいとは、ループが一箇所含まれていることとおなじです。あと、頂点と辺の本数が等しくないといけないので n != m ならばその時点で答えは "No" です。

Union-Find (ac-library dsu) で連結成分の個数はわかります。また、連結する際にすでに u, v が連結済みならばそこでループが発生したことがわかるので、その u を覚えておきます。最後に覚えておいた各 u に対して連結成分の leader を確認していき、全てが重複していなければ "Yes" です。重複しているものがあれば一つの連結成分に複数のループがあり、頂点の数を辺の数が上回ってしまう(また、どこかにループのない連結成分がある)ことが確定するので答えは "No" です。

E - Transitivity

ぜんぜんわからない...。

F - Regular Triangle Inside a Rectangle

数学問なので、必死でググってこの図形に対するいくつかの性質は理解しましたが、回答するには及ばず...。

まとめ

Eを諦めて F に全振りしたのが正しかったのかどうなのか。少なくとも結果はまたしても緑落ちということで。ああ...。