Cod sursa(job #1511333)
Utilizator | Popescu Ion Alexandru alexionpopescu | Data | 26 octombrie 2015 16:22:03 |
---|---|---|---|
Problema | Dame | Scor | 15 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.69 kb |
#include <fstream>
using namespace std;
ifstream fin("dame.in");
ofstream fout("dame.out");
int v[1010],n,ok;
int cont(int k){
for(int i=1;i<k;i++){
if(v[i]==v[k])
return 0;
if(v[i]-v[k]==k-i||v[i]-v[k]==i-k)
return 0;
}
return 1;
}
void back(int k){
for(int i=1;i<=n;i++)
if(!ok){
v[k]=i;
if(cont(k)){
if(k==n){
ok=1;
fout<<n<<'\n';
for(int j=1;j<=n;j++)
fout<<j<<" "<<v[j]<<'\n';
}else{
back(k+1);
}
}
}
}
int main(){
fin>>n;
back(1);
return 0;
}