Как упростить ввод задачи на C#?
Имею такой код:
using System;
namespace YaContest
{
internal class Program
{
static void Main(string[] args)
{
string[] game1 = Console.ReadLine().Split(':');
string[] game2 = Console.ReadLine().Split(':');
if (game1 == null || game2 == null) Console.WriteLine(-1);
int g11 = int.Parse(game1[0]);
int g12 = int.Parse(game1[1]);
int g21 = int.Parse(game2[0]);
int g22 = int.Parse(game2[1]);
int game = Convert.ToInt32(Console.ReadLine());
if (game == 1){
int score1 = g11 * 100 + g21 * 101;
int score2 = g12 * 101 + g22 * 100;
Console.WriteLine(Math.Max(0, score2 - score1 + 101) / 101);
} else
{
int score1 = g11 * 101 + g21 * 100;
int score2 = g12 * 100 + g22 * 101;
Console.WriteLine(Math.Max(0, score2 - score1 + 100) / 100);
}
}
}
}
Хотелось бы узнать, как можно упростить ввод из консоли? На входе 3 строки, первая и вторая представляют футбольный счёт в виде "x:x", третья строка целое число.
Ответы (1 шт):
Автор решения: rotabor
→ Ссылка
Единственное, что тут можно упростить со вводом:
string[] game1 = Console.ReadLine().Split(':');
string[] game2 = Console.ReadLine().Split(':');
if (game1 == null || game2 == null) Console.WriteLine(-1);
int g11 = int.Parse(game1[0]);
int g12 = int.Parse(game1[1]);
int g21 = int.Parse(game2[0]);
int g22 = int.Parse(game2[1]);
-->
int[] game1 = Array.ConvertAll(Console.ReadLine().Split(':'), int.Parse);
int[] game2 = Array.ConvertAll(Console.ReadLine().Split(':'), int.Parse);
Обработку ошибок добавить по необходимости.
P. S. Ну, и третью строку нет необходимости преобразовывать в число:
int game = Convert.ToInt32(Console.ReadLine());
if (game == 1){
-->
if (Console.ReadLine().Trim() == "1"){