Cod sursa(job #585514)

Utilizator alexalbu95Albu Alexandru alexalbu95 Data 29 aprilie 2011 22:03:28
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.46 kb
#include<cstdio>
int n, k, p, i, j, a[1001][1001], x, c, t, r;
int main()
{ 
	freopen("tablete.in", "r", stdin);
	freopen("tablete.out", "w", stdout);
	
	scanf("%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=n+1;
											                                           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) printf("%d ", a[i][j]);
	  printf("\n");
	}
	
	fclose(stdin);
	fclose(stdout);
	return 0;
}