結果
問題 | No.314 ケンケンパ |
ユーザー |
![]() |
提出日時 | 2017-07-10 23:46:43 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 56 ms / 1,000 ms |
コード長 | 2,395 bytes |
コンパイル時間 | 939 ms |
コンパイル使用メモリ | 116,292 KB |
実行使用メモリ | 37,988 KB |
最終ジャッジ日時 | 2024-10-07 07:18:28 |
合計ジャッジ時間 | 2,526 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.
ソースコード
#pragma warning disable IDE1006#pragma warning disable IDE0011using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Numerics;using System.Text;using static System.Convert;using static System.Math;using static Extentions;class IO{int idx;string[] line;public void R(params char[] sep) { line = Console.ReadLine().Split(sep); idx = 0; }public string S => line[idx++];public string[] Ss => line.Skip(idx++).ToArray();public char C => char.Parse(line[idx++]);public char[] Cs => line.Skip(idx++).Select(char.Parse).ToArray();public int I => int.Parse(line[idx++]);public int[] Is => line.Skip(idx++).Select(int.Parse).ToArray();public long L => long.Parse(line[idx++]);public long[] Ls => line.Skip(idx++).Select(long.Parse).ToArray();public double F => double.Parse(line[idx++]);public double[] Fs => line.Skip(idx++).Select(double.Parse).ToArray();public decimal D => decimal.Parse(line[idx++]);public decimal[] Ds => line.Skip(idx++).Select(decimal.Parse).ToArray();public BigInteger B => BigInteger.Parse(line[idx++]);public BigInteger[] Bs => line.Skip(idx++).Select(BigInteger.Parse).ToArray();public void Write<T>(params T[] xs){Console.Write(xs.First());foreach (var x in xs.Skip(1)) Console.Write(" " + x);Console.WriteLine();}public void Write(params object[] xs){Console.Write(xs.First());foreach (var x in xs.Skip(1)) Console.Write(" " + x);Console.WriteLine();}}static class Extentions{public const int Mod = 1000000007;}static class Program{public static void Main(){#if !DEBUGConsole.SetOut(new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false });#endifSolve(new IO());Console.Out.Flush();}public static void Solve(IO io){io.R();var n = io.I;var dp = new int[n, 3];dp[0, 0] = 0;dp[0, 1] = 1;dp[0, 2] = 0;for (var i = 1; i < n; i++){dp[i, 0] = (dp[i - 1, 1] + dp[i - 1, 2]) % Mod;dp[i, 1] = dp[i - 1, 0] % Mod;dp[i, 2] = dp[i - 1, 1] % Mod;}var ans = (dp[n - 1, 0] + dp[n - 1, 1]) % Mod + dp[n - 1, 2];io.Write(ans % Mod);}}