91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 858B
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2023-02-07
  • 語言: 其他
  • 標簽:

資源簡介

在n*n格的棋盤上放置彼此不受攻擊的n個皇后。按照國際向其的規則,皇后可以攻擊同一行、同一列、同一斜線上的棋子。

資源截圖

代碼片段和文件信息

#include
long?nQueen(int?n);
int?abs(int?);
//主函數;

int?main(){
int?numberresult;
cout<<“輸入要放置的皇后個數:“;
cin>>number;
????result=nQueen(number);
cout< return?0;
}
//類和函數;
class?Queen?{
friend?long?nQueen(int);
private:
bool?Place(int?k);
void?Backtrack(int?t);
int?n???//皇后個數;
*x;??//當前解;x[i]表示皇后放在棋盤的第i?行的第x[i]列;
long?sum;??//當前已找到的可行方案數;
};
bool?Queen::Place(int?k)
{
for(int?j=1;jif((abs(k-j)==abs(x[j]-x[k]))?||(x[j]==x[k]))?return?false;
return?true;
}
void?Queen::Backtrack(int?t)
{
if(t>n)?{sum++;???//成功放置一次,方案數加1;
for(int?row=1;row for(int?col=1;col if(x[row]==col)?cout<<“1“<<“?“;????//當row行的列的值等于x[row]的值時,
?? else?cout<<“0“<<“?“;???????????//就證明這一行的皇后放在該列,即把該位置標志為1;否則為0
}
cout< }
cout< }

else?{
for(int?i=1;?i<=n;i++){
x[t]=i;??????????
if(Place(t))?Backtrack(t+1);
}
}
}

long?nQueen(int?n)
{
Queen?X;
X.n=n;
X.sum=0;
int?*p=new?int?[n+1];
for(int?i=1;i<=n;i++)
p[i]=0;
X.x=p;
X.Backtrack(1);
delete?[]p;
return?X.sum;
}

int?abs(int?a)
{?int?b;
if(a>=0)?return?a;
else?b=0-a;
?return?b;
}

?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1348??2000-12-03?09:42??n后問題.cpp

-----------?---------??----------?-----??----

?????????????????1348????????????????????1


評論

共有 條評論