トップページに戻る
次の競技プログラミングの問題へ
前の競技プログラミングの問題へ
ABC-035-A テレビ
■■■問題■■■
高橋君は画面の幅がW、高さがHのテレビを持っています。
このテレビの画面アスペクト比 W:H が 4:3 か 16:9 か判定してください。
■■■入力■■■
W H
●1行目にテレビの画面の幅と高さを表す2つの整数 W,H(1 <= H<W <= 10万) が空白区切りで与えられる。
●テレビの画面アスペクト比は 4:3 か 16:9 になることが保証される。
■■■出力■■■
高橋君のテレビの画面アスペクト比 W:H が
4:3ならば4:3を、16:9ならば16:9を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("4 3");
//4:3
//画面の幅が4、高さが3のテレビの画面アスペクト比は4:3なので
//4:3と出力してください。
}
else if (InputPattern == "Input2") {
WillReturn.Add("16 9");
//16:9
//画面の幅が16、高さが9のテレビの画面アスペクト比は16:9なので
//16:9と出力してください。
}
else if (InputPattern == "Input3") {
WillReturn.Add("28 21");
//4: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 W = wkArr[0];
int H = wkArr[1];
if (4 * H == 3 * W) {
Console.WriteLine("4:3");
}
else {
Console.WriteLine("16:9");
}
}
}
解説
W:H = 4:3
を変形して、
4*H = 3*W
とし、If文で判定してます。