Cod sursa(job #1190869)

Utilizator EpictetStamatin Cristian Epictet Data 25 mai 2014 20:19:56
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
int n, k, V[1009][1009];
bool fr[1000009];
int main()
{
	fin >> n >> k;
	int par = (n*n) - ((n-k) * n);
	if(par & 1) par--;
	for(int i=n; i>=1; i--)
	{
		fr[par] = 1;
		V[i][k] = par;
		par -= 2;
	}
	
	int nr = n * n;
	for(int j=n; j>=1; j--)
	{
		for(int i=n; i>=1; i--)
		{
			if(!V[i][j])
			{
				while(fr[nr]) nr--;
				V[i][j] = nr--;
			}
		}
	}
	
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=n; j++)
		{
			fout << V[i][j] << ' ';
		}
		fout << '\n';
	}
	
	fout.close();
	return 0;
}