Cod sursa(job #1454419)

Utilizator andrettiAndretti Naiden andretti Data 26 iunie 2015 15:36:12
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<stdio.h>
#include<algorithm>
#define maxn 1001
using namespace std;

int n,K;
int used[maxn*maxn];
int a[maxn][maxn];

void read(){
    scanf("%d %d",&n,&K);
}

void solve()
{
    int nr=1;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<K;j++)
        {
            for(;used[nr];nr++);
            a[i][j]=nr; used[nr]=1;
        }

        for(;used[nr];nr++);
        if(nr%2==0) a[i][K]=nr,used[nr]=1;
        else a[i][K]=nr+1,used[nr+1]=1;
    }

     for(int i=1;i<=n;i++)
      for(int j=K+1;j<=n;j++)
      {
          for(;used[nr];nr++);
          a[i][j]=nr; used[nr]=1;
      }
}

void print()
{
    for(int i=1;i<=n;i++){
     for(int j=1;j<=n;j++)
      printf("%d ",a[i][j]);

     printf("\n");
    }
}

int main()
{
    freopen("tablete.in","r",stdin);
    freopen("tablete.out","w",stdout);

    read();
    solve();
    print();


    fclose(stdin);
    fclose(stdout);
    return 0;
}