Помогите оптимизировать код, в Visual Studio все работает, в онлайн курсах пишет "ошибка" - вопрос №2808645

1.2 Условный оператор
4 из 10 шагов пройдено
3 из 20 баллов получено
Шахматный король ходит по горизонтали, вертикали и диагонали, но только на 1 клетку. Даны две различные клетки шахматной доски, определите, может ли король попасть с первой клетки на вторую одним ходом.



Входные данные
Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.

Выходные данные
Программа должна вывести yes, если из первой клетки ходом короля можно попасть во вторую или no в противном случае.

Sample Input 1:

4
4
5
4
Sample Output 1:

yes
Sample Input 2:

6
7
1
1
Sample Output 2:

no

Мой код:
using System;

namespace Stepik
{
class Program
{
static void Main(string[] args)
{
int x = int.Parse(Console.ReadLine());
int y = int.Parse(Console.ReadLine());
int x1 = int.Parse(Console.ReadLine());
int y1 = int.Parse(Console.ReadLine());
bool a = x1 == x && y1 == y + 1 || y1 == y-1;
bool b = x1 != x && x1 == x + 1 || x1 == x — 1;
bool a1 = y1 == y && x1 == x + 1 || x1 == x — 1;
bool b1 = y1 != y && y1 == y + 1 || y1 == y — 1;
bool c = a || b;
bool c1 = a1 || b1;
bool d = c || c1;
bool e = x1 == x || x1 == x — 1 || x1 == x + 1;
bool f = y1 == x || y1 == x — 1 || y1 == y + 1;
bool g = e || f;
bool h = c1 && g;
if (h)
{
Console.WriteLine(«yes»);
}
else
{
Console.WriteLine(«no»);
}
Console.ReadLine();
}
}
}

Почему может не работать, мозг сломал уже, заранее спасибо!)
17.03.18
0 ответов
Ответов пока нет
Посмотреть всех экспертов из раздела Технологии > .Net/C#
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store