2515 afișări Nastase Iustin (Zamer) 28.02.2019 www.pbinfo.ro

#include <iostream>
#include <cmath>
using namespace std;
int n,st1001;
void afis(int k)
{ for(int i=1; i<=k; i++) { for(int j=1; j<=k; j++) if(st[i]==j) cout<<“D”; else cout<<”*”; cout<<endl; } cout<<endl;
}
int valid(int k)
{ for(int i=1; i<k; i++) if(st[k]==st[i] || abs(st[i]-st[k])==abs(i-k)) return 0; return 1;
}
void backt(int k)
{ for(int i=1; i<=n; i++) { st[k]=i; if(valid(k)) if(k==n) afis(k); else backt(k+1); }
}
int main()
{ cin>>n; backt(1); return 0;
}


2515 afișări Nastase Iustin (Zamer) 28.02.2019 www.pbinfo.ro