Решение задачи Шахматный конь с Acmp

Без пояснения   Просмотров: 23


Вася решил научиться играть в шахматы. Он нашел книгу с записями партий и внимательно их изучает. Может быть, когда-нибудь Вася станет великим шахматистом, но пока он еще учится в начальной школе, и ему нелегко дается шахматная нотация. Больше всего трудностей у Васи вызывают ходы шахматного коня. Он попросил вас написать программу, которая сможет сообщить Васе, на какие клетки можно пойти конем с заданной клетки.

Вы, наверное, тоже знаете, что конь в шахматах всегда перемещается либо на две клетки по горизонтали и на одну по вертикали, либо на одну по горизонтали и на две по вертикали. Вертикали обозначаются маленькими английскими буквами от a до h, а горизонтали - цифрами от 1 до 8. Любая клетка на шахматной доске обозначается буквой соответствующей вертикали и цифрой соответствующей горизонтали, например, c6 или e2.

Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    string n;
    cin >> n;
if(n[0] - 1 >='a' && n[0] - 1 <='h' & n[1] - 2 >='1' && n[1] - 2 <='8')
    cout << char(n[0] - 1) << char(n[1] - 2) << endl;
if(n[0] - 2 >='a' && n[0] - 2 <='h' & n[1] - 1 >='1' && n[1] - 1 <='8')
    cout << char(n[0] - 2) << char(n[1] - 1) << endl;
if(n[0] - 2 >='a' && n[0] - 2 <='h' & n[1] + 1 >='1' && n[1] + 1 <='8')
    cout << char(n[0] - 2) << char(n[1] + 1) << endl;
if(n[0] - 1 >='a' && n[0] - 1 <='h' & n[1] + 2 >='1' && n[1] + 2 <='8')
    cout << char(n[0] - 1) << char(n[1] + 2) << endl;
if(n[0] + 1 >='a' && n[0] + 1 <='h' & n[1] + 2 >='1' && n[1] + 2 <='8')
    cout << char(n[0] + 1) << char(n[1] + 2) << endl;
if(n[0] + 2 >='a' && n[0] + 2 <='h' & n[1] + 1 >='1' && n[1] + 1 <='8')
    cout << char(n[0] + 2) << char(n[1] + 1) << endl;
if(n[0] + 2 >='a' && n[0] + 2 <='h' & n[1] - 1 >='1' && n[1] - 1 <='8')
    cout << char(n[0] + 2) << char(n[1] - 1) << endl;
if(n[0] + 1 >='a' && n[0] + 1 <='h' & n[1] - 2 >='1' && n[1] - 2 <='8')
    cout << char(n[0] + 1) << char(n[1] - 2) << endl;
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться