結果
| 問題 |
No.44 DPなすごろく
|
| ユーザー |
80
|
| 提出日時 | 2018-09-02 00:42:29 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
AC
|
| 実行時間 | 24 ms / 5,000 ms |
| コード長 | 1,020 bytes |
| コンパイル時間 | 836 ms |
| コンパイル使用メモリ | 103,296 KB |
| 実行使用メモリ | 17,664 KB |
| 最終ジャッジ日時 | 2024-09-21 23:58:05 |
| 合計ジャッジ時間 | 2,236 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 20 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
private static int input;
static void Main(string[] args)
{
input = int.Parse(Console.ReadLine());
dp = new long[input];
long ans = dpdfs(0);
//出力
Console.WriteLine(ans);
}
//ダイナミックプログラミング
//dfsの処理を高速化
//input:ゴールのマス
//val:現在のマス
private static long[] dp;
static long dpdfs(int val)
{
//ゴールに到達
if (val == input) return 1;
//ゴールを通過
if (val > input) return 0;
if (dp[val] != 0) return dp[val];
for (int i = 0; i <= 1; i++)
{
dp[val] += dpdfs(val + 2 - i);
}
return dp[val];
}
}
}
80