【回溯】n皇后問題
時間限制: 1 Sec 內存限制: 128 MB提交: 8 解決: 7
[提交][狀態][討論版]
題目描述
輸入
輸出
樣例輸入
4
樣例輸出
2 4 1 3
3 1 4 2
#include <iostream> using namespace std; int a[10]={0},n; void dg(int i) { if(i>n) { for(int i=1;i<=n;i++) cout<<" "<<a[i]; cout<<endl; } else { for(int j=1;j<=n;j++) { int tag=1; for(int k=1;k<i;k++) { if(j==a[k]+i-k||j==a[k]||j==a[k]-i+k) { tag=0; break; } } if(tag) { a[i]=j; dg(i+1); } } } } int main() { cin>>n; dg(1); return 0; }