Pythonにおける抽象基底クラスの活用法
Pythonでは、共通のインターフェースを定義し、それを継承するクラスに特定のメソッドの実装を強制するために「抽象基底クラス (Abstract Base Classes, ABCs)」を利用できます。これは、Javaのような言語における抽象クラスと同様の概念です。抽象基底クラスは、それ自体を直接インスタンス化することはできず、具象クラスが従うべき「契約」や「設計のひな形」として機能 ...
9月12日 13:02 投稿
ABC379 問題解説:C・D・E・F
C問題:石の山の配置
石を後方にしか移動できないという制約下で、目標の配置が可能かどうかを判定し、最小移動回数を求める問題です。
条件を満たす配置は一意に定まるため、以下の3点をチェックします。
石の総数がnと一致しない場合は不可能。
最初の山の位置が1でなければ不可能。
途中の位置で、それまでの石の合計数が必要数に満たない場合は不可能。
解 ...
6月22日 21:01 投稿
AtCoder Beginner Contest 449 解説
今回のAtCoder Beginner Contestは、最近の中でも特に難易度が高いセットでした。以下、D・E・Fの3問について解法を説明します。
D - Make Target 2
\( \max(|x|,|y|) \) の扱いを簡単にするため、\( |x| > |y| \) の場合と \( |x| \le |y| \) の場合に分けて計算し、最後に合計します。ここでは \( |x| > |y| \) の場合を示します(もう一方も同様です)。
\( |x| > | ...
6月9日 16:13 投稿