Cod sursa(job #1465043)

Utilizator StefanMudragMudrag Stefan StefanMudrag Data 26 iulie 2015 13:45:50
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<iostream>
#include<fstream>
#define MAX 1001
#define NMAX 1000000
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
int v[NMAX];
int n,k;
int a[MAX][MAX];
void umpledr()
{    int x=n*n;
    for(int i=n;i>=1;i--)
        for(int j=n;j>k;j--)
           a[i][j]=x--;
}
void umplest()
{
    int x=1;
    for(int i=1;i<=n;i++)
        for(int j=1;j<k;j++)
            {
                if(v[x])x++;
                a[i][j]=x++;
            }
}
void umple(int cn)
{

    for(int i=0;i<n;i++)
        a[n-i][k]=cn-2*i,
        v[a[n-i][k]]=1;
}
int main()
{
    fin>>n>>k;
    int cn;
    cn=n*n-n*(n-k);
    if(cn%2)cn++;

    umple(cn);
    umpledr();
    umplest();
    for(int i=1;i<=n;i++)
    {for(int j=1;j<=n;j++)
         fout<<a[i][j]<<" ";
         fout<<'\n';}
    return 0;
}