結果
| 問題 |
No.7 プライムナンバーゲーム
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-05-27 20:24:31 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,978 bytes |
| コンパイル時間 | 781 ms |
| コンパイル使用メモリ | 115,596 KB |
| 実行使用メモリ | 56,224 KB |
| 最終ジャッジ日時 | 2024-09-17 15:34:06 |
| 合計ジャッジ時間 | 22,587 ms |
|
ジャッジサーバーID (参考情報) |
judge6 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 17 |
コンパイルメッセージ
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;
namespace Program
{
class Program
{
static void Main()
{
int count = int.Parse(Console.ReadLine());
Program2 program2=new Program2();
program2.Calc();
Console.WriteLine(Convert.ToString(program2.GetWin(count)));
}
}
class Program2
{
private int[] _win=new int[10001];
private Sosuu sosuu = new Sosuu();
public bool GetWin(int inNumber)
{
return _win[inNumber]==1;
}
public void Calc()
{
_win = _win.Select(x => -1).ToArray();
_win[0] = 0;
_win[1] = 0;
for (int number = 2; number <= 10000; number++)
{
_win[number] = Convert.ToInt32(getWin(number));
}
}
private bool getWin(int inNumber)
{
if (_win[inNumber] != -1)
return _win[inNumber] == 1;
List<int> card = sosuu.sosuuList.Where(x => x < inNumber && inNumber - x > 1).ToList();
foreach (int item in card)
{
int Aite_No = inNumber - item;
if (getWin(Aite_No))
return true;
}
return false;
}
}
class Sosuu
{
public List<int> sosuuList = new List<int>();
public Sosuu() {
sosuuList.Add(2);
for (int number = 3;number <= 10000;number++)
{
if (number % 2 != 0)
{
for (int waruNumbre = 3; waruNumbre < number; waruNumbre++)
{
if (number % waruNumbre == 0)
{
continue;
}
}
sosuuList.Add(number);
}
}
}
}
}