Cod sursa(job #206579)

Utilizator nusmaibunkeleviprofesor cicalescu nusmaibunkelevi Data 7 septembrie 2008 21:11:38
Problema Dame Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
#include<stdlib.h>

int n,sol;
int s[1001];

void btk(){
int up,k,i,ok;
k=1;
s[k]=0;
while(k){
	up=0;
	while(!up&&s[k]<n){
		s[k]++;
		ok=1;
		for(i=1;i<k&&ok;++i)
			if(s[k]==s[i]||(k-i)==abs(s[k]-s[i])) ok=0;
		if(ok) up=1;
		}
	if(up)
		if(k==n) {sol=1;break;}
		else k++,s[k]=0;
	else k--;
	}
}

int main(){
freopen("dame.in","r",stdin);
freopen("dame.out","w",stdout);
int i;
scanf("%d",&n);
btk();
if(sol){
	printf("%d\n",n);
	for(i=1;i<=n;++i)
		printf("%d %d\n",i,s[i]);
	}
return 0;
}