結果
問題 | No.492 IOI数列 |
ユーザー | kimiyuki |
提出日時 | 2017-03-10 23:07:34 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 33 ms / 1,000 ms |
コード長 | 638 bytes |
コンパイル時間 | 157 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-06-24 08:33:15 |
合計ジャッジ時間 | 1,563 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
#!/usr/bin/env python3 def dgemm(f, g): h = [ [ 0, 0 ], [ 0, 0 ] ] for y in range(2): for x in range(2): for z in range(2): h[y][x] += f[y][z] * g[z][x] h[y][x] %= 1000000007 return h def dgemv(f, v): w = [ 0, 0 ] for y in range(2): for x in range(2): w[y] += f[y][x] * v[x] w[y] %= 1000000007 return w f = [ [ 1, 0 ], [ 0, 1 ] ] e = [ [ 100, 1 ], [ 0, 1 ] ] n = int(input()) for i in range(len(bin(n))): if n & (1 << i): f = dgemm(f, e) e = dgemm(e, e) print(dgemv(f, [ 0, 1 ])[0]) print(('10' * (n % 11))[:-1] or '0')