Cod sursa(job #1879917)

Utilizator lucametehauDart Monkey lucametehau Data 15 februarie 2017 11:28:21
Problema Tablete Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>

using namespace std;
ifstream cin("tablete.in");
ofstream cout("tablete.out");
int n,m,k,x,i,j,v[1005][1005];
bool f[1000005];
int main()
{
    cin>>n>>k;
    m=k*n;
    m-=m%2;
    for(i=1;i<=n/2;i++)
    {
        f[2*(i+1)]=1;
        v[i][k]=2*(i+1);
    }
    for(i=1;i<=n/2+n%2;i++)
    {
        f[m+2*(i-1)]=1;
        v[n/2+i][k]=m+2*(i-1);
    }
    x=n*n;
    for(j=n;j>k;j--)
    {
        for(i=n;i>=1;i--)
        {
            while(f[x])
                x--;
            v[i][j]=x;
            f[x]=1;
        }
    }
    for(j=k-1;j>=1;j--)
    {
        for(i=n;i>=1;i--)
        {
            while(f[x])
                x--;
            v[i][j]=x;
            f[x]=1;
        }
    }
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
            cout<<v[i][j]<<' ';
        cout<<'\n';
    }
    return 0;
}