0.はじめに
企業名を冠していないコンテストでしたが
C問題が難しく、ABしか解けませんでした・・・。
最近Cすら解けない回が続きモチベーションが下がり気味です。
1.A - Legendary Players
問題に提示されたプレイヤー名とレーティングの組み合わせを
辞書に登録し、インプットのプレイヤー名をもとにレーティングを
表示しました。
https://atcoder.jp/contests/abc319/submissions/45353129
2.B - Measure
問題文が難解というか、言っている意味がしっくり入ってこず
悩みました。
結局問題文に書かれているママを実装してみたところ
例題にACできたので、そのまま提出してACでした。
[実装]
1.リストY(1以上9以下のNの約数の昇順リスト)を用意
1-1.1~9を変数iでループし、Nを割り切れる場合
その数字をリストYに追加
2.回答用文字列Sに"1"をセット(i=0の時はSは必ず1になるため)
3.1~Nまで変数iでループする
3-1.変数flgに0をセット
3-2.リストYを先頭から変数xに代入してループ
3-2-1.iをN/xで割り切れる時
3-2-1-1.Sにxを文字列にして追加
3-2-1-2.flgに1をセット
3-2-1-3.3-2のループを抜ける
3-3.flgが0の時
3-3-1.Sに”-”を追加
4.Sを出力して終了
https://atcoder.jp/contests/abc319/submissions/45365340
3.C - False Hope
試験時間中には、提出すらできずに終了。
試しにしっている総当たり関数を使ってみたところ
時間オーバーとなり何とか計算できないかを
考えているうちに終了。
解説を見たら、総当たりでとけるとあり、
総当たりの考え方としてC++のnext_permutationを使うとあった。
pythonには内容でしたが、ググると以下の実装例が。
参考にさせていただき、next_permutationでの
総当たりをpythonで実装しつつ、解説のC++を
pythonに書き直して提出したところ
ACを頂けました。
【参考サイト】
https://strangerxxx.hateblo.jp/entry/20220201/1643705539
https://atcoder.jp/contests/abc319/submissions/45425136
以上