Cod sursa(job #2783586)

Utilizator davidcotigacotiga david davidcotiga Data 14 octombrie 2021 19:13:15
Problema Dame Scor 15
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <deque>
#include <vector>
#include <stack>
#include <cmath>

using namespace std;

ifstream fin("dame.in");
ofstream fout("dame.out");

int st[1005];
int N;

void print(int k)
{
	fout << N << "\n";

	for (int i = 1; i <= k; ++i)
		fout << i << " " << st[i] << "\n";
}

bool valid(int k)
{
	for (int i = k - 1; i > 0; --i)
	{
		if (st[i] == st[k])
			return 0;

		if (k - i == abs(st[k] - st[i]))
			return 0;
	}
	return 1;
}

int main()
{
	fin >> N;

	int k = 1;
	st[k] = 0;

	while (k)
	{
		if (k > N)
		{
			print(--k);
			return 0;
		}
		else if (st[k] < N) {
			st[k]++;

			if (valid(k))
				st[++k] = 0;
		}
		else
			k--;
	}

	return 0;
}