求助大佬 数少了
查看原帖
求助大佬 数少了
53907
Glaceon_Hibiki楼主2018/6/14 15:29
  • #include using namespace std; int n,count=0; int a[14]; bool ver[14]={false},diar[14]={false},dial[14]={false}; void print(){ for(int i=0;i<n;i++){ cout<<a[i]+1<<" "; } cout<<endl; } void operate(int x){ for(int i=0;i<n;i++){ if((!ver[i])&&(!diar[x+i])&&(!dial[x-i+n-1])){ ver[i]=true; diar[x+i]=true; dial[x-i+n-1]=true; a[x]=i; if(x==(n-1)){ count=count+1; if(count<=3){ print(); } } else operate(x+1); ver[i]=false; dial[x-i+n-1]=false; diar[x+i]=false; } } } int main(int argc, char** argv) { cin>>n; operate(0); cout<<count; return 0; }
2018/6/14 15:29
加载中...