Pagini recente » Cod sursa (job #13500) | Cod sursa (job #1841975) | Cod sursa (job #3159710) | Cod sursa (job #417777) | Cod sursa (job #352397)
Cod sursa(job #352397)
#include <stdio.h>
#define DIM 1002
int A[DIM][DIM];
int n,i,j,k,t,x;
FILE *f = fopen("tablete.in","r");
FILE *g = fopen("tablete.out","w");
void afisare() {
for (i=1; i<=n; i++) {
for (j=1; j<=n; j++)
fprintf(g,"%d ",A[i][j]);
fprintf(g,"\n");
}
}
int main() {
fscanf(f,"%d%d",&n,&k);
if (n%2==0 && k%2==0)
for (i=1; i<=n; i++) {
for (j=1; j<=n; j++)
fprintf(g,"%d ",++x);
fprintf(g,"\n");
}
if (n%2==0 && k%2==1) {
for (i=1, t=1; i<n; i++)
for (j=1; j<=n; j++) {
if (j==k) {
t = ++x;
A[i][j] = ++x;
}
else
if (j==1) {
A[i][j] = t;
if (i==1)
x = 1;
}
else
A[i][j] = ++x;
}
A[n][1] = t;
for (j=2; j<=n; j++)
A[n][j] = ++x;
t = A[n][k];
for (j=k; j>1; j--)
A[n][j] = A[n][j-1];
A[n][1] = A[1][n];
A[1][n] = t;
afisare();
}
if (n%2==1 && k%2==0) {
for (i=1, t=1; i<n; i++)
for (j=1; j<=n; j++) {
if (j==k && i%2==0) {
t = ++x;
A[i][j] = ++x;
}
else
if (j==1 && i%2==1) {
A[i][j] = t;
if (i==1)
x = 1;
}
else
A[i][j] = ++x;
}
A[n][1] = t;
for (j=2; j<=n; j++)
A[n][j] = ++x;
afisare();
}
if (n%2==1 && k%2==1) {
for (i=1, t=1; i<n; i++)
for (j=1; j<=n; j++) {
if (j==k && i%2==1) {
t = ++x;
A[i][j] = ++x;
}
else
if (j==1 && i%2==0) {
A[i][j] = t;
if (i==1)
x = 1;
}
else
A[i][j] = ++x;
}
for (j=1; j<=n; j++)
A[n][j] = ++x;
t = A[n][k];
for (j=k; j>1; j--)
A[n][j] = A[n][j-1];
A[n][1] = A[1][n];
A[1][n] = t;
afisare();
}
fclose(f);
fclose(g);
return 0;
}