0.はじめに
緑コーダーの最下層をうろついている今日この頃のコンテスト。
今回もA~Cはすんなり通りましたが、Dでブレーキ。
問題文を理解できていない点もあり
結局1時間以上かけても回答できませんでした。
レートは-1の802と、ギリギリ緑コーダー継続となりました。
1.A - Hamming Distance
先頭からSとTを1文字ずつ比較し、異なる場合をカウント。
最後にカウントした数を出力して終了。
https://atcoder.jp/contests/abc399/submissions/64281805
2.B - Ranking with Ties
なかなかややこしい問題。
問題文の理解に時間がかかりましたが、こういう時は
問題文通りにロジックを作るという自分の原則に従い
以下の実装
【実装】
1.NとAをインプット
2.各Aの位置毎の順位リストLを0で初期化
3.flgに1をセット
4.現在の順位rに1をセット
5.以下flgが1の間ループ
-1.変数C(この周回内で順位付け対象の点数
=順位がまだついていない人の中での得点最大値)を0で初期化
-2.以下iを0~N-1まで繰り返し
-1.L[i]が0の時(順位未設定の時)CにCとA[i]の大きい方をセット
-3.Cが0の時はflgに0をセットしループ終了
-4.Cが0以外の時
-1.C2(C点を取った人の数をカウント)に0をセット
-2.以下iを0~N-1まで繰り返し
-1.A[i]がCの時L[i]にrをセットし、C2に1加算
-3.rにC2を加算
6.Lの内容を1つずつ改行して出力
https://atcoder.jp/contests/abc399/submissions/64295583
3.C - Make it Forest
なれないグラフ問題。
閉路判断は、UNION-FIND木で同じ根になった時に閉路になるという
うっすらした記憶をもとに、昔使ったUNION-FIND木ロジックを持ってきて
辺ごとに、違う根の場合は結合
同じ根の場合は結合せずカウントし
最後にカウントして終了としたらACとなりました。
考慮不足のケースがあったら打つ手なしだなと思いましたが何とかなりました。
https://atcoder.jp/contests/abc399/submissions/64301973
以上