競技プログラミング

Atcoder

【Python】順列・組み合わせの数と列挙する方法【Atcoder】

Atcoderで順列や組み合わせに関する問題の対策です。 n個のモノからr個を選んだ場合の、順列と組み合わせの数の数え方と、全通りを列挙する方法を記載しています。 自身が実装する上で必要な最低限の情報のみに絞ったため、数学的に正...
Atcoder

【ABC251】Atcoder Beginner Contest 251 A,B,C問題 解答・解説【Python】

A - Six Characters 方針 ・入力された文字列を保存した変数"s"の値を別の変数"S"に保存 →"S"は文字列の長さが6に達したかを判定するために使用 →"s"は"S"の文字列の長さが6未満の場合に、もう...
Atcoder

【Python】Atcoder Beginner Contest 167 C問題 解答・解説

C - Skill Up 方針 n:本の数が1冊から12冊と小さいのでbit全探索が使える問題です。 参考記事よりnが22までならbit全探索で解ける可能性があるようです。 入力 今回の入力はあまり見ないパターンだと思いま...
Atcoder

【Python】Atcoderで使われるビット演算・ビットシフト・bit全探索についてまとめる

bit演算、bit全探索について勉強しました。 いくつかのWebページや書籍に当たってみたので、自分なりに調べた内容をまとめておきます。 bit全探索とは 選ぶ/選ばない2択がn回あり、その全パターン(2のn乗回)を調べる時に用い...
Atcoder

【Python】Atcoder Beginner Contest 239 A,B,C問題 解答・解説

A問題 Horizon 方針 問題文に計算式が記載されているので、この通りに計算を行います。 平方根の計算をするとき、Pythonではmathモジュールを用います。 "import math"でモジュールをインポートし、 ...
Atcoder

【Python】AtCoder Beginner Contest240 A,B,C問題 解答・解説

A問題 Edge Checker 方針 a,bの入力値が与えられます。a,bはともに1~10の範囲の整数です。 a,bが直接線で結ばれている=隣り合っているかを確認する問題です。 画像を見ると、線で結ばれているということ...
Atcoder

【Python】AtCoder Beginner Contest241 A,B問題 解答・解説

A問題 Digit Machine 方針 入力値をリストとして保存します。 画面に表示されている数字をリストの要素番号とし、次に画面に表示する番号とします。 ボタンを押すという操作によって画面が切り替わり、この操作は3回...
Atcoder

Atcoderを解くときに意識すること

Atcoderを解くときに意識しておくことを箇条書きでまとめています。 問題の理解 問題文をよく読む 問題文が理解できなくても入力例を読む 複雑な問題は簡単な部分問題に分割する 簡単な例を挙げてみる 解法...
Atcoder

Python便利技集

出力 リストを半角スペース区切りで一行で出力 リストを指定した区切り文字で出力(半角、カンマ) この場合最後もカンマがついてしまうのでif文使うなどで調整が必要ですね。 内包表記 後日記載 順列・組み合わせ 順列の...
Atcoder

【Python】ユークリッドの互除法で最大公約数を求める【アルゴリズム】

ユークリッドの互除法について 概要 最大公約数を求めるアルゴリズム greatest common divisorの頭文字をとってgcdと表記されることがある コード yが0の時 yが0の時、xを返します。す...