-
Знаток
(252)
4 месяца назад
using System;
class Program
{
static void Main(string[] args)
{
// Ввод координат поля, которое нужно проверить
Console.WriteLine("Введите координаты поля (a, b):");
string[] input = Console.ReadLine().Split(',');
int a = int.Parse(input[0]);
int b = int.Parse(input[1]);
// Ввод координат поля, где находится конь
Console.WriteLine("Введите координаты поля, где находится конь (c, d):");
input = Console.ReadLine().Split(',');
int c = int.Parse(input[0]);
int d = int.Parse(input[1]);
// Проверка, угрожает ли конь полю
bool threat = IsThreat(a, b, c, d);
// Вывод результата
if (threat)
{
Console.WriteLine("Конь угрожает полю ({0}, {1}).", a, b);
}
else
{
Console.WriteLine("Конь не угрожает полю ({0}, {1}).", a, b);
}
}
static bool IsThreat(int a, int b, int c, int d)
{
// Проверка, является ли ход коня допустимым
if (Math.Abs(a - c) == 2 && Math.Abs(b - d) == 1 ||
Math.Abs(a - c) == 1 && Math.Abs(b - d) == 2)
{
// Проверка, есть ли промежуточное поле, на котором может стоять конь
//
// Если конь делает 2 хода, то промежуточное поле существует всегда
//
return true;
}
return false;
}
}