ACL Beginner ContestをPythonで解く

投稿日: 

Atcoder Python

B!
Daniel AgreloによるPixabay(https://pixabay.com/)からの画像

こんにちは, Shinoryoです.

今回はACL Beginner Contestを, Pythonで解いてみた結果を書き連ねていこうと思います.

A - Keyboard

$K$回「ACL」を出力します.

B - Integer Preference

整数範囲が重なる条件は, $B \geq C$かつ$A \leq D$になります.

C - Connect Cities

幅優先探索(breadth first search; BFS)と呼ばれる方法を用いて, 双方向道路で行き来することができる都市群が何個あるかを計算します.

幅優先探索はグラフ理論等で用いられるアルゴリズムです. ある根ノードで始まり隣接した全てのノードを探索し, そのそれぞれに対して同様のことを繰り返すことによって探索対象ノードを網羅します.

幅優先探索に関しては, 「AtCoder Beginner Contest 177をPythonで解く」(https://shinoryo-weblog.blogspot.com/2021/02/atcoder-beginner-contest-177.html)を参照してください.

この幅優先探索によって, 都市群が$G$個作られたとします. 最終的に, 都市同士は間接的にでもつながっていれば問題ないので, 求める数は$G-1$になります.

D以降

D以降は私の能力不足故に省略いたします.

参考にしたサイト等

Search

About Me

自分の写真
理系大学生でした. Bloggerを利用して発信を行っています.

Labels

Blog Archives