Cod sursa(job #1880199)

Utilizator ivan.tudorIvan Tudor ivan.tudor Data 15 februarie 2017 16:50:38
Problema Tablete Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>
using namespace std;
bool caract[1000002];
int mat[1001][1001];
int gasimultcar(){
  int i=1;
  while(caract[i]==1)
    i++;
  return i;
}
int main()
{
    int nr,n,i,j,k,aux;
    FILE*fin,*fout;
    fin=fopen("tablete.in","r");
    fscanf(fin,"%d%d",&n,&k);
    fclose(fin);
    caract[1000001]=1;
    caract[0]=1;
    nr=gasimultcar();
    for(i=1;i<=n;i++){
      for(j=1;j<k;j++){
        mat[i][j]=nr;
        caract[nr]=true;
        nr=gasimultcar();
      }
    }
    if(nr%2==1){
      aux=mat[n][k-1];
      mat[n][k-1]=nr;
      caract[nr]=true;
      nr=aux;
    }
    for(i=1;i<=n;i++){
      mat[i][k]=nr;
      caract[nr]=true;
      nr+=2;
    }
    nr=gasimultcar();
    for(i=1;i<=n;i++)
      for(j=k+1;j<=n;j++){
        mat[i][j]=nr;
        caract[nr]=true;
        nr=gasimultcar();
      }
    fout=fopen("tablete.out","w");
    for(i=1;i<=n;i++){
      for(j=1;j<=n;j++)
        fprintf(fout,"%d ",mat[i][j]);
      fprintf(fout,"\n");
    }
    fclose(fout);
    return 0;
}