Cod sursa(job #1891421)

Utilizator andra1782Andra Alazaroaie andra1782 Data 23 februarie 2017 23:48:12
Problema Tablete Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <stdio.h>
#define MAX 1002
int t[MAX][MAX],f[MAX*MAX];
int main(){
    FILE *fin=fopen("tablete.in","r");
    FILE *fout=fopen("tablete.out","w");
    int n,k,i,j,v,s;

    fscanf(fin,"%d%d",&n,&k);
    s=k+k%2;
    for(i=1; i<n; i++){
        t[i][k]=s*i;
        f[s*i]=1;
    }
    if(s*n>n*n-(n-k+1))
        t[n][k]=n*n-(n-k+1);
    else
        t[n][k]=s*n;
    f[t[n][k]]=1;
    v=1;
    for(i=1; i<=n; i++)
        for(j=1; j<k; j++){
            t[i][j]=v++;
            if(f[v]==1)
                v++;
            f[v]=1;
        }
    for(i=1; i<=n; i++)
        for(j=k+1; j<=n; j++){
            t[i][j]=v++;
            if(f[v]==1)
                v++;
            f[v]=1;
        }
    for(i=1; i<=n; i++){
        for(j=1; j<=n; j++)
            fprintf(fout,"%d ",t[i][j]);
        fprintf(fout,"\n");
    }
    fclose(fin);
    fclose(fout);
    return 0;
}