Cod sursa(job #1879956)

Utilizator verde.cristian2005Verde Flaviu-Cristian verde.cristian2005 Data 15 februarie 2017 11:59:03
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 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;
}