Cod sursa(job #576003)

Utilizator alexalbu95Albu Alexandru alexalbu95 Data 9 aprilie 2011 09:28:00
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.35 kb
#include<stdio.h>
FILE *f, *g;
int n, k, p, i, j, a[1001][1001], x, c, t, r;
int main()
{ 
	f=fopen("tablete.in", "r");
	g=fopen("tablete.out", "w");
	
	fscanf(f, "%d %d", &n, &k);
	p=1;
	
	for(i=1; i<=n; ++i) 
	  for(j=1; j<=k; ++j) if(!a[i][j] && j!=k) { a[i][j]=p;
										         ++p;
											   }
	                      else if(j==k) if(p%2==0) { a[i][j]=p;
							                         ++p;
							                       }
							            else { a[i][j]=p+1; 
									           a[i+1][1]=p; 
									           p+=2;
         								     }
	c=1;
	for(i=1; i<=n; ++i)
	 { while(c<=x) for(j=1; j<=n; ++j) if(a[i][j]==c) { ++c;
	                                                    i=1;
														j=n+1; 
		                                              }
									   else for(t=1; t<=n; ++t)
									           for(r=k+1; r<=n; ++r) if(c>a[t][r-1]) { a[t][r]=c; 
										                                               t=r=n+1; 
													                                   ++c;
																					   i=1;
																					   j=n+1;
													                                 }
     }
								
	for(i=1; i<=n; ++i)
		for(j=k+1; j<=n; ++j) { a[i][j]=p; ++p;}

	
	for(i=1; i<=n; ++i)
	{ for(j=1; j<=n; ++j) fprintf(g, "%d ", a[i][j]);
	  fprintf(g, "\n");
	}
	
	fclose(f);
	fclose(g);
	return 0;
}