Pagini recente » Cod sursa (job #357841) | Istoria paginii utilizator/titus_teodor_pirsan | Cod sursa (job #1918097) | Cod sursa (job #2280814) | Cod sursa (job #257416)
Cod sursa(job #257416)
#include<stdio.h>
long n,k,i,j,x=0,ok;
int v[1000000];
long mat[1000][1000];
int main()
{
FILE*f=fopen("tablete.in","r");
FILE*g=fopen("tablete.out","w");
fscanf(f,"%ld %ld",&n,&k);
if (k%2==0){ if (n%2==0) for (i=1;i<=n*n;i++)
{
fprintf(g,"%ld ",i);
if (i%n==0) fprintf(g,"\n");
}
else {
for (i=1;i<=n;i++)
for (j=1;j<=k;j++) {++x;
mat[i][j]=x;}
for (i=1;i<=n;i++)
for (j=k+1;j<=n;j++) {++x;
mat[i][j]=x;}
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++) fprintf(g,"%d ",mat[i][j]);
fprintf(g,"\n");
}
}
}
if (k%2==1)
{
for (i=1;i<=n;i++)
for(j=1;j<=k;j++)
{++x;
if (v[x]!=0) while (v[x]!=0) x++;
if (v[x]==0) {
if (i%2==1&&j==k) {mat[i][j]=x+1;
v[x+1]=1;
x--;}
else {mat[i][j]=x;
v[x]=1;}
if (i%2==1&&j%k==0&&i==n) x+=2;
}
}
for (i=1;i<=n;i++)
for (j=k+1;j<=n;j++)
{++x;
mat[i][j]=x;}
for (i=1;i<=n;i++)
{for (j=1;j<=n;j++) fprintf(g,"%ld ",mat[i][j]);
fprintf(g,"\n");}
}
fclose(f);
fclose(g);
return 0;
}