Cod sursa(job #2602391)

Utilizator mmocanuMocanu Mihai-Adrian mmocanu Data 16 aprilie 2020 20:06:31
Problema Tablete Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
/* Mihai Mocanu */

#include <stdio.h>
#include <stdlib.h>

int v[1002][1002];

int main(){
  int n,k,i,j,z;
  FILE *fin,*fout;

  fin=fopen("tablete.in","r");
  fout=fopen("tablete.out","w");
  fscanf(fin,"%d%d",&n,&k);

  z=(n*n)-(n*(n-k));
  if(z%2==1){
    z++;
  }
  for(i=n;i>0;i--){
    v[i][k]=z;
    z-=2;
  }
  for(i=n;i>=0;i--){
    v[i][k-1]=v[i][k]-1;
  }

  z=n*n;
  for(j=n;j>k;j--){
    for(i=n;i>0;i--){
      v[i][j]=z;
      z--;
    }
  }

  z=v[1][k-1]-1;
  for(j=k-2;j>0;j--){
    for(i=n;i>0;i--){
      v[i][j]=z;
      z--;
    }
  }

  z=(n*n)-(n*(n-k));
  if(z%2==1){
    v[1][k+1]--;
    for(j=k-1;j>0;j--){
      v[n][j]=v[n][j-1];
    }
    v[n][1]=1;
  }
  for(i=1;i<=n;i++){
    for(j=1;j<=n;j++){
      fprintf(fout,"%d ",v[i][j]);
    }
    fprintf(fout,"\n");
  }

  fclose(fin);
  fclose(fout);

  return 0;
}