トップページに戻る
次の競技プログラミングの問題へ
前の競技プログラミングの問題へ
ABC-058-A ι⊥l
■■■問題■■■
3本の柱が等間隔に並んでいます。
柱の高さは左から順に aメートル,bメートル,cメートル です。
柱の先端が同一直線上に並んでいる時、つまり b-a = c-b を満たしているとき、
この柱の並び方を美しいと呼びます。
柱の並び方が美しいかどうかを判定してください。
■■■入力■■■
a b c
●1 <= a,b,c <= 100
●a,b,c は整数である
■■■出力■■■
柱の並び方が美しい場合 YES を、
そうでない場合 NO を1行に出力せよ。
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("2 4 6");
//YES
//4-2=6-4 であるため、
//この柱の並び方は美しいです。
}
else if (InputPattern == "Input2") {
WillReturn.Add("2 5 6");
//NO
//5-2 ≠ 6-5 であるため、
//この柱の並び方は美しくありません。
}
else if (InputPattern == "Input3") {
WillReturn.Add("3 2 1");
//YES
// 1-2 = 2-3 であるため、
//この柱の並び方は美しいです。
}
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(X => int.Parse(X)).ToArray();
int A = wkArr[0];
int B = wkArr[1];
int C = wkArr[2];
if (B - A == C - B) Console.WriteLine("YES");
else Console.WriteLine("NO");
}
}
解説
IF文でナイーブに判定してます。