Cod sursa(job #1879957)

Utilizator verde.cristian2005Verde Flaviu-Cristian verde.cristian2005 Data 15 februarie 2017 11:59:30
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.53 kb
#include <fstream>
using namespace std;
ifstream in("tablete.in");
ofstream out("tablete.out");
int m[1001][1001];
bool v[1000001];
int main()
{
    int n,k,i,j,x=1,xcopie;
    in>>n>>k;
    for(j=1; j<=n; j++)
        for(i=1; i<=n; i++)
        {
            if(j<k-1)
            {
                m[i][j]=x;
                x++;
                v[x]=1;
            }
            else if(j==k-1)
            {
                if(x%2==0&&i==n)
                {
                    x++;
                    v[x]=1;
                    m[i][j]=x;
                    x--;
                }
                else
                {
                    m[i][j]=x;
                    v[x]=1;
                    x++;
                }
            }
            else if(j==k)
            {
                if(i==1)
                    xcopie=x+1;
                m[i][j]=x;
                v[x]=1;
                x+=2;
            }
            else if(j>=k+1)
            {
                if(v[xcopie]==0)
                {
                    m[i][j]=xcopie;
                    v[xcopie]=1;
                    xcopie++;
                }
                else
                {
                    while(v[xcopie]!=0)
                        xcopie++;
                    v[xcopie]=1;
                    m[i][j]=xcopie;
                }
            }
        }
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=n; j++)
            out<<m[i][j]<<" ";
        out<<'\n';
    }
    return 0;
}