Конь
Шахматный конь стоит на доске размером 8×8 в ii-той строке и jj-том столбце. Напишите программу, которая определит, сколько ходов он может сделать.
Конь ходит, как показано на рисунке. Из центральной части доски он может сделать 8 ходов, но, если конь находится ближе к краю доски, то количество ходов уменьшится, так как он не может выйти за ее границы.
Формат входных данных
На вход подается два натуральных числа в диапазоне от 1 до 8 — номер клетки, в которой находится конь, по горизонтали и вертикали. Каждое число записано в отдельной строке.
Формат выходных данных
Вывести одно число — количество возможных ходов коня.
Методика проверки
Программа проверяется на 20 тестах. Прохождение каждого теста оценивается в 1 балл. Тест из условия задачи при проверке не используется.
Answers & Comments
Ответ:
using System;
public class MainClass
{
public static void Main()
{
string X = Console.ReadLine();
string Y = Console.ReadLine();
int x = Convert.ToInt32(X);
int y = Convert.ToInt32(Y);
if (x > 2 && x < 6)
{
if(y>2 && y < 6)
{
Console.WriteLine("8");
}
else if(y<=1 && y >= 7)
{
Console.WriteLine("4");
}
else
{
Console.WriteLine("6");
}
}
else
{
if (y > 2 && y < 6)
{
Console.WriteLine("6");
}
else if (y <= 1 && y >= 7)
{
Console.WriteLine("3");
}
else
{
Console.WriteLine("4");
}
}
}
}
Объяснение:
на 8.5 баллов язык C#
j = int(input('По вертикали (от 1 до 8) '))
kolhodov = 0
# проверка по горизонтали
# шаг влево
if i-2>0:
if j-1>0:
kolhodov +=1
if j+1<9:
kolhodov += 1
# шаг вправо
if i+2<9:
if j-1>0:
kolhodov +=1
if j+1<9:
kolhodov += 1
# проверка по вертикали
if j-2>0:
if i-1>0:
kolhodov +=1
if i+1<9:
kolhodov += 1
if j+2<9:
if i-1>0:
kolhodov +=1
if i+1<9:
kolhodov += 1
print('Количество ходов: ',kolhodov)
Ответ:
i = int(input()); j = int(input())
if i < 7 and i > 2 and j < 7 and j > 2:
print("8")
elif j == 1 and i == 1 or j == 1 and i == 8 or j == 8 and i == 1 or j == 8 and i == 8:
print("2")
elif j == 2 and i == 7 or j == 7 and i == 7 or j == 7 and i == 2 or j == 2 and i == 2:
print("4")
elif j == 2 and 2 < i < 7 or j == 7 and 2 < i < 7 or i == 2 and 2 < j < 7 or i == 7 and 2 < j < 7:
print("6")
else:
print("3")
Объяснение: