トップページに戻る
次の競技プログラミングの問題へ
前の競技プログラミングの問題へ
ARC-027-A 門限
■■■問題■■■
今日は憧れの先輩と一緒にお買い物!お買い物の後、お茶して、他にもいろんな思い出を作って・・・。
気がついたらもうこんな時間!18時の門限までに家に帰らないとパパに怒られちゃう><。
というわけで、友人であるあなたは、現在の時間から門限まであと何分あるかを計算することになった。
■■■入力■■■
h m
1行目には、現在時刻を表す2個の整数 h(0 <= h <= 17), m(0 <= m <= 59)が
この順に空白区切りで書かれている。
これらは、現在時刻が24時間表記でh時m分ちょうどであることを表す。
■■■出力■■■
門限である18時0分まで、あと何分あるかを出力せよ。出力の末尾にも改行を入れること。
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("16 23");
//97
//現在時刻は16時23分です。
//門限まであと1時間37分あるので、
//答えとして 60+37=97 を出力します。
}
else if (InputPattern == "Input2") {
WillReturn.Add("17 59");
//1
//なんと、あと1分しかありません。急げ!
}
else if (InputPattern == "Input3") {
WillReturn.Add("13 0");
//300
}
else if (InputPattern == "Input4") {
WillReturn.Add("2 7");
//953
}
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 h = wkArr[0];
int m = wkArr[1];
int Answer = 18 * 60 + 0;
Answer -= h * 60;
Answer -= m;
Console.WriteLine(Answer);
}
}
解説
60進数で分数を計算してます。