トップページに戻る
次の競技プログラミングの問題へ
前の競技プログラミングの問題へ
ABC-065-A Expired?
■■■問題■■■
高橋君は胃が強いので、賞味期限をX日まで過ぎた食品を食べてもお腹を壊しません。
賞味期限を X+1 日以上過ぎた食品を食べると、お腹を壊します。
また、賞味期限を過ぎずに食べると、おいしく感じます。
そうでない場合、おいしく感じません。
高橋君は、賞味期限のA日前に食品を買ってきて、買ってからB日後に食べました。
高橋君が食品をおいしく感じた場合、deliciousを、
おいしくは感じなかったがお腹は壊さなかった場合、safeを、
お腹を壊した場合、dangerousを出力するプログラムを作成してください。
■■■入力■■■
X A B
●1 <= X,A,B <= 10億
■■■出力■■■
高橋君が食品をおいしく感じた場合deliciousを、
おいしくは感じなかったがお腹は壊さなかった場合safeを、
お腹を壊した場合dangerousを出力せよ。
C#のソース
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static string InputPattern = "Input1";
static List<string> GetInputList()
{
var WillReturn = new List<string>();
if (InputPattern == "Input1") {
WillReturn.Add("4 3 6");
//safe
//賞味期限を3日過ぎて食べるので、
//おいしくは感じませんが、お腹も壊しません。
}
else if (InputPattern == "Input2") {
WillReturn.Add("6 5 1");
//delicious
//賞味期限を過ぎていないので、おいしく感じます
}
else if (InputPattern == "Input3") {
WillReturn.Add("3 7 12");
//dangerous
//賞味期限を5日過ぎて食べるので、お腹を壊します
}
else {
string wkStr;
while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
}
return WillReturn;
}
static void Main()
{
List<string> InputList = GetInputList();
int[] wkArr = InputList[0].Split(' ').Select(pX => int.Parse(pX)).ToArray();
int X = wkArr[0];
int A = wkArr[1];
int B = wkArr[2];
if (B <= A) {
Console.WriteLine("delicious");
}
else if (B <= A + X) {
Console.WriteLine("safe");
}
else {
Console.WriteLine("dangerous");
}
}
}
解説
ナイーブに解いてます。