Cod sursa(job #524557)

Utilizator cat_red20Vasile Ioana cat_red20 Data 22 ianuarie 2011 13:29:31
Problema Tablete Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include<stdio.h>
FILE *fin,*fout;
int n,i,j,k;
int main(){

fin=fopen("tablete.in","r");
fout=fopen("tablete.out","w");
fscanf(fin,"%d %d\n",&n,&k);
if(k%2==0){
	int p=0;
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			p++;
			fprintf(fout,"%d ",p);
			
		}
		fprintf(fout,"\n");
	}

}
else
	if(n%2==0){
	for(i=1;i<=n;i++){
		for(j=1;j<=k-2;j++){
			fprintf(fout,"%d ",(k-2)*(i-1)+j);
		}
		//coloana k-1
		fprintf(fout,"%d ",n*(k-2)+i*2-1);
		//coloana k
		fprintf(fout,"%d ",n*(k-2)+i*2);
		for(j=1;j<=n-k;j++){
			fprintf(fout,"%d ",k*n+(i-1)*(n-k)+j);
		}
		
		fprintf(fout,"\n");
	}
	}
	else{
		int p=0,p2;
		p2=n*(k+1);
		for(i=1;i<=n;i++){
			for(j=1;j<k-1;j++){
				p++;
				fprintf(fout,"%d ",p);
			}
			//coloana k-1
			if(i==1){
				fprintf(fout,"%d ",(k-2)*n+1);
			}
			else
				fprintf(fout,"%d ",(k-2)*n+2*(i-1));
			//coloana k
			fprintf(fout,"%d ",(k-2)*n+1+2*i);
			//coloana k+1;
			if(i==1){
				fprintf(fout,"%d ",n*k);
			}
			else
				fprintf(fout,"%d ",n*k+i);
			
			for(j=k+2;j<=n;j++){
				p2++;
				fprintf(fout,"%d ",p2);
			}
			fprintf(fout,"\n");
		}
	}
return 0;}