Cod sursa(job #829041)

Utilizator paulhelmerPaul Helmer paulhelmer Data 4 decembrie 2012 20:19:29
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>

using namespace std;
int a[1001][1001];
int main()
{
    ifstream f ("tablete.in");
    ofstream g ("tablete.out");
    int n, k, i, j, p=0, nr=2, m=1;
    f >> n >> k;
    if (n%2==0 && k%2==0)
    for (i=1; i<=n; i++)
    {
        for (j=1; j<=n; j++)
            a[j][i]=j+p*n;
        p++;
    }
    if (k%2==1)
    {
    a[1][2]=1; a[n][1]=n*n;
    for (i=1; i<=n; i++)
    {
        for (j=1; j<=n; j++)
        {
            while (a[j][i]==0)
               {
                if (j!=k || nr%2==0){a[j][i]=nr; nr++;}
                else {a[1][i+1]=nr; nr++;}
               }
        }
    }
    }
    if (k%2==0 && n%2==1)
    for (i=1; i<=n; i++)
    {
        for (j=1; j<=n; j++)
        {
            while (a[j][i]==0)
                {if (j!=k || m%2==0){a[j][i]=m; m++;}
                else {a[1][i+1]=m; m++;}
                }
        }
    }
    for (i=1; i<=n; i++)
    {
        for (j=1; j<=n; j++)
            g << a[j][i] << " ";
        g << endl;
    }

    return 0;
}