次のようにして、無限行列Mをon N^2 -> {0, 1}(ここでNはからでは1なく0)で定義するとします:
- M(1, 1)=- 0。
- すべてのために - x > 1、- M(x, 1)=- 1場合は- x、プライム、とある- 0そう。
- ごとに - y > 1、- M(1, y)=の- yth番目の用語- Thue-Morse sequence。
- すべてのために - x, y > 1、- M(x, y)=- M(x, y-1) + M(x-1, y) mod 2。
16x16このマトリックスの左上のセクションは次のようになります(x行とy列):
0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0
1 0 1 1 0 0 0 1 0 0 0 1 1 0 1 1
1 1 0 1 1 1 1 0 0 0 0 1 0 0 1 0
0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1
1 0 1 1 0 0 1 0 1 0 1 1 1 1 0 1
0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1
1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1
0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1
0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 1
0 1 1 0 0 1 0 1 0 1 1 1 1 1 1 0
1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1
0 0 1 0 1 1 1 0 1 1 0 0 1 1 0 1
1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0
0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1
0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 1
0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 1
あなたの仕事は、このマトリックスの任意のエントリの値を可能な限り正確に評価するプログラムを構築することです。
プログラムは、2つの整数xをy入力として受け取り、任意の形式で入力し、またはを返します。M(x, y)これは0または1です。
コードは任意の言語で記述できますが、ソースコードサイズが64キロバイト(65,536バイト)または合計メモリ使用量が2 MB(2,097,152バイト)を超えてはなりません。プログラムは空のメモリで開始する必要があり(つまり、他の場所からデータをロードできない)、入力ごとに独立して実行する必要があります(つまり、複数の実行で共通データを格納できない場合があります)。また、プログラム8192x8192は、妥当な時間内に左上の正方形のすべてのエントリを評価できる必要があります。
左上の8192 x 8192正方形のほとんどのエントリを正しく評価するプログラムが勝者となり、短いコードがタイブレーカーとして機能します。