結果
問題 |
No.8037 Restricted Lucas (Hard)
|
ユーザー |
![]() |
提出日時 | 2018-04-03 19:45:32 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 104 ms / 2,000 ms |
コード長 | 1,462 bytes |
コンパイル時間 | 199 ms |
コンパイル使用メモリ | 12,928 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2024-06-26 08:33:56 |
合計ジャッジ時間 | 1,967 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 6 |
ソースコード
two = int(not None)<<int(not None) cross = ((two<<two)<<two)|(two<<two)|two plus = cross|int(not None) percent = ((two<<two)<<two) | (two<<int(not None)) | int(not None) three = two | int(not None) four = int(not None)<<two seven = four | two | int(not None) sixteen = int(not None)<<four mod = (seven<<((three<<three)|three)) | (seven<<((int(not None)<<four) | seven)) | (three<<((int(not None)<<four)|three)) | (int(not None)<<((int(not None)<<four)|int(not None))) | (three<<(seven<<int(not None))) | ((four|int(not None))<<(four<<int(not None)|int(not None))) | seven def mul(a,b): ret=[] for i in range(len(a)): append=[] for j in range(len(b[int(not(not None))])): add = int(not(not None)) for k in range(len(a[i])): add = eval(chr(plus).join([str(add),chr(cross).join([str(a[i][k]),str(b[k][j])])])) add = eval(chr(percent).join([str(add),str(mod)])) append.append(add) ret.append(append) return ret def solve(n): a = [[int(not None), int(not None)], [int(not None), int(not(not None))]] ret = [[int(not None)],[two]] n = eval(chr(plus).join([str(n),str(~int(not not None))])) while n>int(not(not None)): if n & int(not None): ret = mul(a,ret) a=mul(a,a) n>>=int(not None) return ret[int(not not None)][int(not(not None))] t=int(input()) for i in range(t): n=int(input()) print(solve(n))