Pagini recente » Cod sursa (job #2389029) | Cod sursa (job #597621) | Cod sursa (job #2777813) | Cod sursa (job #1618012) | Cod sursa (job #405981)
Cod sursa(job #405981)
#include<stdio.h>
int main(){
long *m[1000], *v;
int z=1,j,N,K,y;
long i;
FILE *fp;
fp=fopen("tablete.in", "r");
fscanf(fp, "%d %d", &N, &K);
fclose(fp);
v=malloc((N*N)*sizeof(long));
for (i=0;i<N;i++){
m[i]=malloc(N*sizeof(long));
}
for (i=1;i<=N*N;i++){v[i]=i;}
if (N%2==0){
y=N*(K-1);
}
else{
y=(N-1)*(K-1);
}
for (i=0;i<N;i++){
m[i][K-1]=v[y+2*i];
v[y+2*i]=0;
}
i=0;
while (i<N){
for (j=0;j<K-1;j++){
if (v[z]!=0){
m[i][j]=v[z];
v[z]=0;
z++;
}
else{
z+=1;
m[i][j]=v[z];
v[z]=0;
z++;
}
}
i++;
}
i=0;
while (i<N){
for (j=K;j<N;j++){
if (v[z]!=0){
m[i][j]=v[z];
v[z]=0;
z++;
}
else{
z+=1;
m[i][j]=v[z];
v[z]=0;
z++;
}
}
i++;
}
puts("");
fp = fopen("tablete.out", "w");
for (i=0;i<N;i++){
for (j=0;j<N;j++){
fprintf(fp, "%d ", m[i][j]);
}
fprintf(fp, "\n");
}
fclose(fp);
}