Cod sursa(job #952046)

Utilizator traista.lamaitaTraista traista.lamaita Data 22 mai 2013 16:30:32
Problema Tablete Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include<fstream>
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
int n, k, i, j, a[1001][1001], crt;

int main()
{ f>>n>>k; crt=0;
  if(k%2==0) 
	{for(i=1; i<=n; ++i)
		for(j=1; j<=k; ++j)
			{crt++; a[i][j]=crt;}
	 for(i=1; i<=n; ++i)
		 for(j=k+1; j<=n; ++j)
		    {crt++; a[i][j]=crt;}
	}
  else if(n%2==0)
	        {for(i=1; i<=n; ++i)
				for(j=1; j<=k; ++j)
					{a[i][j]=++crt;
				     if(a[i][k]%2==1) {a[i][k]++; ++i; j=1; a[i][j]=crt; crt++;}
					}
			 for(i=1; i<=n; ++i)
				 for(j=k+1; j<=n; ++j)
					{a[i][j]=++crt;}
			}
		else {for(i=1; i<=n; ++i)
				for(j=1; j<=k; ++j)
					{a[i][j]=++crt;
				     if(a[i][k]%2==1) 
						 {a[i][k]++;
						  if(i+1<=n) {++i; j=1; a[i][j]=crt; crt++;}
						  else {a[1][k+1]=n*k; crt++;}
						 }
					}
			 for(i=1; i<=n; ++i)
				 for(j=k+1; j<=n; ++j)
					if(a[i][j]==0) {a[i][j]=++crt;}
			}
 for(i=1; i<=n; ++i)
	 {for(j=1; j<=n; ++j)
		 g<<a[i][j]<<' ';
	  g<<'\n';
	 }
 return 0; g.close();
}