Pagini recente » Cod sursa (job #628546) | Cod sursa (job #1507364) | Cod sursa (job #1584568) | Cod sursa (job #1930891) | Cod sursa (job #398968)
Cod sursa(job #398968)
#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<i;h++){
v[i+h][j-h]=x;
v[i+h][j+h]=x;
}
for(h=1;h<=n-i+1;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();
}