Решение задачи Отель с Timus

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


— Ох уж мне эти дизайнеры! У вас-то, программистов таких проблем нет, а нам эти эстеты всю жизнь портят. Вот представь, в нашу мастерскую пришли из компании, строящей новую гостиницу и принесли эскиз. Говорят, что ЭТО им придумал крутой дизайнер. Говорят, что за разработку ЭТОГО они заплатили дизайнеру кучу денег. И раз деньги уже заплачены, то придется ЭТО делать. В общем-то, ничего особенного ЭТО из себя не представляет — просто набор полочек, куда портье складывает корреспонденцию для постояльцев. Во всех нормальных гостиницах такие есть — висит себе стеллажик с множеством ячеек, на каждой номерок написан. Но ЭТОТ дизайнер перевернул все с ног на голову. Вернее положил обычный квадратный блок ячеек на бок. То есть не совсем положил на бок, а поставил на угол! И ячейки нумеруются не как обычно, а справа налево и сверху вниз! Ну конечно смотреть при этом надо на стеллаж уже стоящий на углу. Как же у меня мастер будет номерки приделывать, он ведь смотрит на стеллаж стоящий нормально, он же на четвертом уже запутается. Я и сам на 7 уже путаюсь. В общем, таких дизайнеров надо самих заставлять ячейки нумеровать.
— Слушай, а раз уж ты такой крутой программист, может, поможешь? Мне позарез нужна распечатанная таблица с расстановкой номерков по ячейкам, только не так, как ЭТО будет висеть на стене, а так, как ЭТО будет стоять у меня в мастерской. Ну я понимаю, что ты занят, но ты всегда занят. Ну и что, что чемпионат Урала на носу. Да плюнь ты на эти тесты, не сделаешь — ничего плохого не случится. А сам не можешь, так заставь этих участников делать, они ведь тоже программисты, мирового уровня, говоришь, должны справиться! Что они, не смогут по размеру квадрата сделать мне нужную табличку? Ни за что не поверю! Ну вот и прекрасно, после чемпионата я зайду за табличкой!

Код

#include <bits/stdc++.h>

using namespace std;
int main()
{
    int n;
    cin >> n;
    int a[n][n];
    
    int cur = 0;
    for(int c = 0; c < n * 2 - 1; ++c){
        for(int i = 0; i < n; ++i){
            int j = c - i;
            if(0 <= j && j < n)
                a[i][n - 1 - j] = ++cur;
        }
    }

    for(int i = 0; i < n; ++i){
        for(int j = 0; j < n; ++j)
            cout << a[i][j] << ' ';
        cout << endl;
    }
    return 0;
}

         

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



Комментарии

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