Решение задачи Координаты соседей с Mccme

С пояснением   Просмотров: 42


Для клетки с координатами (x, y) в таблице размером M × N выведите координаты ее соседей. Соседними называются клетки, имеющие общую сторону.


Код

#include <bits/stdc++.h>

using namespace std;
int m, n;
bool solve(int x, int y)
{
    if(x > 0 && x < m + 1 && y > 0 && y < n + 1)
        return 1;
    return 0;
}
int main()
{
    int x, y;
    cin >> m >> n >> x >> y;
    if(solve(x + 1, y))
        cout << x + 1 << " " << y << endl;
    if(solve(x - 1, y))
        cout << x - 1 << " " << y << endl;
    if(solve(x, y - 1))
        cout << x << " " << y - 1 << endl;
    if(solve(x, y + 1))
        cout << x << " " << y + 1 << endl;
    return 0;
}

         

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


Соседями точки (x,y) являются точки (x+1,y),(x-1,y),(x,y+1),(x,y-1), надо просто "проследить" за тем, чтобы эти соседи не выходили за пределы таблицы.


Комментарии

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