結果
| 問題 | No.1595 The Final Digit | 
| コンテスト | |
| ユーザー |  bal4u | 
| 提出日時 | 2021-08-11 20:19:25 | 
| 言語 | C (gcc 13.3.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 1 ms / 2,000 ms | 
| コード長 | 470 bytes | 
| コンパイル時間 | 507 ms | 
| コンパイル使用メモリ | 29,184 KB | 
| 実行使用メモリ | 5,376 KB | 
| 最終ジャッジ日時 | 2024-09-25 06:40:46 | 
| 合計ジャッジ時間 | 1,253 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 17 | 
ソースコード
// yuki 1595 The Final Digit
// 2021.8.11
#include <stdio.h>
typedef long long ll;
ll a[1000];
int main() {
	int p, q, r, s, t, f;
	ll K;
	scanf("%d%d%d%lld", &p, &q, &r, &K);
	p %= 10, t = p;
	q %= 10, t = t*10 + q;
	r %= 10, t = t*10 + r;
	K -= 3, f = 1;
	while (K) {
		if (f && a[t]) {
			K %= (a[t] - K);
			if (K == 0) break;
			f = 0;
		}
		a[t] = K;
		s = (p+q+r) % 10;
		p = q, q = r, r = s;
		t = (t*10 + s) % 1000;
		K--;
	}
	printf("%d\n", s);
	return 0;
}
            
            
            
        