fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. using ll=long long;
  4.  
  5. ll n,cot[15],c1[200],c2[200],kq[15];
  6.  
  7. void xuat()
  8. {
  9. for(int hang=1; hang<=n; hang++)
  10. cout<<kq[hang]<<' ';
  11. cout<<endl;
  12. }
  13. void xephau(int hang)
  14. {
  15. if(hang==n+1)
  16. {
  17. xuat();
  18. return;
  19. }
  20. for(int i=1; i<=n; i++)
  21. {
  22. if(!cot[i] && !c1[i+hang])
  23. {
  24. if(i>=hang)
  25. {
  26. if(!c2[i-hang])
  27. {
  28. cot[i]=c1[i+hang]=c2[i-hang]=1;
  29. kq[hang]=i;
  30. xephau(hang+1);
  31. cot[i]=c1[i+hang]=c2[i-hang]=0;
  32. }
  33. }
  34. else if(!c2[abs(i-hang)+n])
  35. {
  36. cot[i]=c1[i+hang]=c2[abs(i-hang)+n]=1;
  37. kq[hang]=i;
  38. xephau(hang+1);
  39. cot[i]=c1[i+hang]=c2[abs(i-hang)+n]=0;
  40. }
  41. }
  42. }
  43. }
  44. int main()
  45. {
  46. ios_base::sync_with_stdio(0);
  47. cin.tie(0);cout.tie(0);
  48. freopen("queen.inp","r",stdin);
  49. freopen("queen.out","w",stdout);
  50. cin>>n;
  51. xephau(1);
  52. }
  53.  
Success #stdin #stdout 0.01s 5272KB
stdin
Standard input is empty
stdout
Standard output is empty