結果
| 問題 |
No.533 Mysterious Stairs
|
| コンテスト | |
| ユーザー |
bal4u
|
| 提出日時 | 2019-07-26 20:07:49 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 7 ms / 5,000 ms |
| コード長 | 492 bytes |
| コンパイル時間 | 351 ms |
| コンパイル使用メモリ | 29,440 KB |
| 実行使用メモリ | 5,760 KB |
| 最終ジャッジ日時 | 2024-07-02 06:32:28 |
| 合計ジャッジ時間 | 996 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 28 |
ソースコード
// yukicoder: No.533 Mysterious Stairs
// 2019.7.26 bal4u
// For n>6, a(n) = a(n-3) + a(n-4) + a(n-5) + 2*a(n-6). (End)
#include <stdio.h>
#define MOD 1000000007
unsigned a[1000005] = {1,1,1,3,3,4,8,9,12,21,27};
int main()
{
int i, N;
unsigned k;
scanf("%d", &N);
if (N <= 10) k = a[N];
else {
for (i = 11; i <= N; i++) {
k = a[i-3] + a[i-4] + a[i-5];
a[i] = k % MOD + (a[i-6] << 1) % MOD;
if (a[i] >= MOD) a[i] -= MOD;
}
k = a[N];
}
printf("%u\n", k);
return 0;
}
bal4u