Cod sursa(job #2029586)

Utilizator cont_nouCont Nou cont_nou Data 30 septembrie 2017 11:49:15
Problema Tablete Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.54 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
int n, k, fr[1000000], a[1000][1000];
int main()
{
    f>>n>>k;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++)
            for(int d=1; d<=n*n; d++)
            {
                if(fr[d]==0 && a[i][j]==0)
                {
                    if(j==k && d%2==0)
                    {
                        fr[d]=1;
                        a[i][j]=d;
                        if(i%2==1 && i!=n)
                        {
                            a[i][j+1]=a[i][j]+n;
                            fr[a[i][j+1]]=1;
                        }
                        break;
                    }
                    else if(j==k && d%2==1)
                    {
                        fr[d+1]=1;
                        a[i][j]=d+1;
                        if(i%2==1 && i!=n)
                        {
                            a[i][j+1]=a[i][j]+n;
                            fr[a[i][j+1]]=1;
                        }
                        break;
                    }
                    else
                    {
                        if(a[i][j-1]>d)
                            d=a[i][j-1]+1;
                        fr[d]=1;
                        a[i][j]=d;
                        break;
                    }
                }
            }
    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=n; j++)
            g<<a[i][j]<<' ';
        g<<'\n';
    }

    return 0;
}