Cod sursa(job #230868)

Utilizator YoghiTeodor Stanescu Yoghi Data 14 decembrie 2008 10:47:17
Problema Tablete Scor 0
Compilator cpp Status done
Runda Algoritmiada 2009, Runda 1, Studenti Marime 0.9 kb
#include<stdio.h>
  
   int main()  
   {  
   int n,k,j,i,p,t,p1;
   FILE *in; 
   FILE *out; 
   in=fopen("tablete.in","r");  
   fscanf(in, "%d", &n);  
   fscanf(in, "%d", &k);
   int a[n][n],v[n*n];
   for(i=1;i<=n*n;i++)
   v[i]=0;
   
   for(i=1;i<=n;i++)
   for(j=1;j<=n;j++)
   a[i][j]=0;
   
   if (k%2) p=k+1;
   else p=k;
   p1=p;
   for(i=1;i<=n;i++)
   {a[i][k]=p;
   v[p]=1;
   p+=p1;} 
   t=1;
   
   for(i=1;i<=n;i++)
   for(j=1;j<=k-1;j++)
   {if (!v[t]) {a[i][j]=t;
      t++;
      }
    else {a[i][j]=++t;t++;}  
                      
   }
   
   for(i=1;i<=n;i++)
   for(j=k+1;j<=n;j++)
   {if (!v[t]) {a[i][j]=t;
      t++;
      }
    else {a[i][j]=++t;t++;}                
   }
  
   out=fopen("tablete.out","a+");    
   for(i=1;i<=n;i++)
 {    
   for(j=1;j<=n;j++)
   fprintf(out,"%d ",a[i][j]);
   fprintf(out,"\n");
}

   return 0;  
   }