読者です 読者をやめる 読者になる 読者になる

セルオートマトンで洞窟を作る

セルオートマトンを使うと、手軽に洞窟のようなマップを生成することができます。 ランダムに埋める ある座標が壁かどうかをboolで表現した二次元配列をマップとします。まずマップをランダムに埋め尽くします。今回の例では壁のセルと壁でないセルの比率が…

動的計画法入門

動的計画法、いわゆるDPについて少し勉強したのでまとめました。ここではフィボナッチ数列を例に説明していきます。 愚直なフィボナッチ数列の実装 フィボナッチ数列は次のように定義されます。 これをそのままプログラムにするとこうなります。 def f(n): i…

pythonとPillowで画像処理

pythonで画像処理をするためのライブラリ”Pillow”について少し調べたのでまとめました。 パッケージのインストール pip install pillowでインストールできます。anacondaをお使いの方はデフォルトでインストールされています。 画像を読み込む 既存の画像か…

xorで簡単な暗号化

排他的論理和(xor)は次のような性質を持っています。 この性質を使うことで手軽に暗号化することができます。 具体的には暗号化したいデータをバイト列として読み込みます。そして鍵にあたる任意の整数とそれぞれのバイトでxorを行います。復元する際は暗号…