[Python] ヨセフスの問題を循環リストで解く
ヨセフスの問題 人の人間が円を描くように並び、処刑されるのを待っている。最初の人をスキップし、さらに \( k-2 \) 人をスキップし(つまり、\( k-1 \) 人をスキップして \(k \)番目の人に到達する)、\(k\)番目の人を処刑する。そしてそこから...
Freedom is a responsible choice.
ヨセフスの問題 人の人間が円を描くように並び、処刑されるのを待っている。最初の人をスキップし、さらに \( k-2 \) 人をスキップし(つまり、\( k-1 \) 人をスキップして \(k \)番目の人に到達する)、\(k\)番目の人を処刑する。そしてそこから...
以下を参考にしています。 Data-Structures-using-Python/Linked Lists/DoublyLinkedList.py 双方向リスト 片方向リストは後方向へのリンクだけでしたが、双方向リスト(Doubly-Linked List)...
Pythonでリストを実装します。 以下を参照しています。 Data-Structures-using-Python/Linked Lists/SinglyLinkedList.py 連結リスト(linked list) 連結リストは、データが順番を持...
問題 N×Nの行列があり、左端上から右端下までの通路を探す。道は1壁は0で表される。また、右が下の方向にのみ進むことができる。 例 下の行列であれば、(0, 0) -> (0, 1) -> (1, 1) -> (1, 2) -> (2, 2) -> (...
問題 0...k-1から作ることのできる長さnの数字の列を全て求めなさい。 回答 def range_to_list(k): result = [] for i in range(k): result.append(str(i)...
問題 N桁のビット列を全て求めなさい。 回答 その1 def apped_zero_one_front(x, L): return def bit_strings(n): if n == 0: return [] ...
ハノイの塔 ハノイの塔(ハノイのとう、Tower of Hanoi)はパズルの一種。バラモンの塔またはルーカスタワー(Lucas' Tower)とも呼ばれる。 ハノイの塔出典: フリー百科事典『ウィキペディア(Wikipedia)』 再帰で良く出てくるア...
問題 D - トランプ挿入ソート 最長増加部分列(LIS)の問題です。 以下、Pythonでの最長増加部分列(LIS)の実装について、とても分かりやすく説明しています。 Qiita 最長増加部分列(LIS)の長さを求める 最長増加部分列の長さ取得ア...
ほぼ以下の内容です。 GeeksForGeeks Python program for Longest Incresing Subsequence 最長増加部分列(LIS: Longest Increasing Subsequence)問題 ...
問題 C - スフィンクスのなぞなぞ 回答 import sys # input処理を高速化する input = sys.stdin.readline def main(): N, M = map(int, input().split()) ...