Решение задачи Змейка с Меньшиков

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


Вывести квадрат, состоящий из NxN ячеек, заполненных числами от 1 до N2 "змейкой" (см. примеры).

Код

#include <iostream>
#include <vector>
 
using namespace std;
 
vector<vector<int> > mas;
int n;
void input()
{
    cin>>n;
    mas = vector<vector<int> >(n,vector<int>(n,0));
}
void solve()
{
    int cur = 1, j,f,s;
    for (int c = 0;c<2*n-1;c++)
    {
        if (c-n+1 < 0)
        {
            f = 0;
            s = c;
        }
        else
        {
            f = c-n+1;
            s = c - f;
        }
        if (c&1)
        {
            for (int i=f;i<=s;i++)
            {
                j = c - i;
                mas[i][j] = cur++;
            }
        }
        else
        {
            for (int i=s;i>=f;i--)
            {
                j = c - i;
                mas[i][j] = cur++;
            }
        }
    }
}
void output()
{
    for (int i=0;i<n;i++)
    {
        for (int j=0;j<n;j++)
        {
            cout<<mas[i][j]<<' ';
        }
        cout<<endl;
    }
}
int main()
{
    input();
    solve();
    output();
    return 0;
}

         

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



Комментарии

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