Cod sursa(job #1118092)

Utilizator auRSTARHreapca Aurelian auRSTAR Data 23 februarie 2014 23:41:56
Problema Problema Damelor Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int Solution,NumberSolution,V[100],n,i,up,down,fact=1,ok,j;
int main()
{
	freopen("damesah.in","r",stdin);
	freopen("damesah.out","w",stdout);
	scanf("%d",&n);
	for(i=1;i<=n;i++){V[i]=i;fact*=i;}
	for(;fact;fact--)
	{
		ok=1;		
		for(i=2;i<=n && ok;i++)
		{
			up=down=V[i];			
			for(j=i-1;j>=1 && ok;j--)
			{
				up--;down++;
				if(V[j]==up || V[j]==down){ok=0;break;}
			}
		}
		NumberSolution+=ok;
		if(ok && !Solution)
		{
			Solution=1;
			for(i=1;i<=n;i++)printf("%d ",V[i]);
		}
		next_permutation(V+1,V+n+1);
	}
	printf("\n%d",NumberSolution);
	return 0;
}