結果
| 問題 | No.314 ケンケンパ |
| コンテスト | |
| ユーザー |
bayashiko_r
|
| 提出日時 | 2019-01-03 21:23:34 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
AC
|
| 実行時間 | 194 ms / 1,000 ms |
| コード長 | 1,418 bytes |
| コンパイル時間 | 1,054 ms |
| コンパイル使用メモリ | 106,112 KB |
| 実行使用メモリ | 40,192 KB |
| 最終ジャッジ日時 | 2024-11-23 22:54:24 |
| 合計ジャッジ時間 | 3,024 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 17 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
class Program {
static void Main(string[] args) {
//入力
ulong N = ulong.Parse(Console.ReadLine());
//出力
switch (N) {
case 1:
Console.WriteLine("1");
break;
case 2:
Console.WriteLine("2");
break;
case 3:
Console.WriteLine("2");
break;
default:
//各係数に対する配列を用意する
ulong[] an = new ulong[N];
ulong[] bn = new ulong[N];
ulong[] cn = new ulong[N];
an[0] = 1;
an[1] = 0;
an[2] = 0;
bn[0] = 0;
bn[1] = 1;
bn[2] = 0;
cn[0] = 0;
cn[1] = 0;
cn[2] = 1;
for (ulong i = 3; i < N; i++) {
an[i] = an[i - 3] + an[i - 2];
bn[i] = bn[i - 3] + bn[i - 2];
cn[i] = cn[i - 3] + cn[i - 2];
an[i] %= (uint)Math.Pow(10, 9) + 7;
bn[i] %= (uint)Math.Pow(10, 9) + 7;
cn[i] %= (uint)Math.Pow(10, 9) + 7;
}
Console.WriteLine((an[N - 1] + 2 * bn[N - 1] + 2 * cn[N - 1]) % (uint)(Math.Pow(10, 9) + 7));
break;
}
}
}
bayashiko_r