Pagini recente » Cod sursa (job #1172494) | Cod sursa (job #950884) | Cod sursa (job #2440885) | Cod sursa (job #1378134) | Cod sursa (job #399062)
Cod sursa(job #399062)
#include<iostream.h>
#include<fstream.h>
ifstream f("dame.in");
ofstream g("dame.out");
int n,st[100],v[100][100];
void citire(){
f>>n;
}
void afis(){
g<<n<<endl;
for(int i=1;i<=n;i++)
g<<i<<" "<<st[i]<<endl;
}
void marcare(int x,int i, int j){
int h;
for(h=1;h<=n;h++){
v[h][j]=x;
v[i][h]=x;
}
for(h=1;h<=n-i;h++){
v[i+h][j-h]=x;
v[i+h][j+h]=x;
}
for(h=1;h<i;h++){
v[i-h][j-h]=x;
v[i-h][j+h]=x;
}
}
void bkt(int i){
if(i==n) afis();
else{
for(int j=1;j<=n;j++)
if(v[i][j]==0){
st[i]=j;
marcare(1,i,j);
bkt(i+1);
marcare(0,i,j);
}
}
}
int main(){
citire();
bkt(1);
f.close();
g.close();
}