結果
問題 | No.314 ケンケンパ |
ユーザー |
![]() |
提出日時 | 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; } } }