Cod sursa(job #232999)

Utilizator tamas_iuliaTamas Iulia tamas_iulia Data 16 decembrie 2008 18:17:20
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include <stdio.h>

long n,k,i,j,nr=0;

int main(){
	freopen("tablete.in","r",stdin);
   freopen("tablete.out","w",stdout);
   scanf("%ld%ld",&n,&k);
   if(n%2==0){ // E PAR
   	if(k %2==0)
      	for(i=1;i<=n;i++){
         	for(j=1;j<=n;j++){nr++;printf("%ld ",nr);}
            printf("\n");
         }
      else{
         nr=1;
      	for(i=1;i<=n-2;i++){
         	for(j=1;j<=n;j++){nr++;printf("%ld ",nr);}
            printf("\n");
         }
         for(j=1;j<=n-1;j++){nr++;printf("%ld ",nr);}
         printf("%ld\n",n*n);
         printf("1 ");
         for(j=1;j<=n-1;j++){nr++;printf("%ld ",nr);}
      }
   }
   else{ //E IMPAR
     if(k%2==0){
     nr=0;
     for(i=1;i<=n;i++){
       for(j=1;j<=n-1;j++){nr++;printf("%ld ",nr);}
       printf("%ld\n",n*n-n+i);
     }
     }
     else
     {
       nr=1;
     	 for(i=1;i<=n-2;i++){
         for(j=1;j<=n-1;j++){nr++;printf("%ld ",nr);}
         printf("%ld\n",n*n-n+i);
       }
       for(j=1;j<=n-2;j++){nr++;printf("%ld ",nr);}
       printf("%ld %ld\n",n*n-n,n*n-n+i);
       printf("1 ");
       for(j=1;j<=n-2;j++){nr++;printf("%ld ",nr);}
       printf("%ld\n",n*n);
     }
   }
   fclose(stdin); fclose(stdout);
   return 0;
}