トップページに戻る
次の競技プログラミングの問題へ
前の競技プログラミングの問題へ
No.383 レーティング
■■■問題■■■
あるプログラミングコンテストでA君のレートがaからbに変化しました。
A君はこのレーティングの変動をツイートするために,
a → b(s)
という記法をよく用います。ここで,sは 文字列で,以下のように決まります。
●もしレーティングが変化していないなら,"0"
●もしレーティングが上昇しているなら,"+"という文字に続いてレートの変化量を書く
●もしレーティングが減少しているなら,"-"という文字に続いてレートの変化量を書く
A君は引き算が苦手なので,よくsを間違えてしまいます。
A君の代わりにsを考えてあげてください。
■■■入力■■■
a b
1行目にA君のコンテスト前のレートa,コンテスト後のレートbが与えられます。
0 <= a, b < 4000
■■■出力■■■
レーティングの変化量を示す文字列を出力してください。
最後に改行してください。
C#のソース
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static string InputPattern = "InputX";
static List<string> GetInputList()
{
var WillReturn = new List<string>();
if (InputPattern == "Input1") {
WillReturn.Add("1200 1350");
//+150
//レートが増える場合,"+"を忘れないようにして下さい
}
else if (InputPattern == "Input2") {
WillReturn.Add("1350 1200");
//-150
//レートが減ることもあります。トホホ。
}
else if (InputPattern == "Input3") {
WillReturn.Add("1500 1500");
//0
//レートが変化しないこともあります。
//この時は "+" も "-" も書きません。
}
else if (InputPattern == "Input4") {
WillReturn.Add("2179 2218");
//+39
//レッドコーダーおめでとうございます
}
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 Answer = B - A;
if (Answer > 0) Console.WriteLine("+{0}", Answer);
else Console.WriteLine("{0}", Answer);
}
}
解説
ナイーブに実装してます。