結果
問題 | No.1595 The Final Digit |
ユーザー |
|
提出日時 | 2021-12-08 17:56:51 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 31 ms / 2,000 ms |
コード長 | 467 bytes |
コンパイル時間 | 225 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-07-16 08:07:39 |
合計ジャッジ時間 | 1,451 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 |
ソースコード
p,q,r,K = map(int,input().split()) p %= 10 q %= 10 r %= 10 A = [0] * 1001 A[1] = p A[2] = q A[3] = r memo = [0] * 1000 memo[p * 100 + q * 10 + r] = 0 i = 4 while True: A[i] = A[i-1] + A[i-2] + A[i-3] A[i] %= 10 u = A[i] * 100 + A[i-1] * 10 + A[i-2] if memo[u]: loop = i - memo[u] start = memo[u] break else: memo[u] = i i += 1 if K <= start:print(A[K]) else: r = (K - start) % loop print(A[start+r])