Cod sursa(job #576000)

Utilizator alexalbu95Albu Alexandru alexalbu95 Data 9 aprilie 2011 09:22:35
Problema Tablete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.28 kb
#include<stdio.h>
FILE *f, *g;
long n, k, p, i, j, a[1001][1001];
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;
												 }
	                        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=j=1;
		                                                  }
										   else for(i=1; i<=n; ++i)
									                  for(j=k+1; j<=n; ++j) if(c>a[i][j-1]) { a[i][j]=c; 
										                                                      i=j=n+1; 
													                                          ++c;
													                                        }
		 }
								
	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;
}