无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

回溯法-全排列算法

2023-06-23 15:25 作者:算法設(shè)計(jì)與分析張老師  | 我要投稿

1、常規(guī)全排列算法

#include<iostream>?

#include<algorithm>

using namespace std;?

int x[100],n,sum=0;

void backtrack(int t)

{

if(t>n) {

for(int i=1;i<=n;i++)cout<<" "<<x[i];

cout<<"\n";

sum++;

}

else{

for(int i=t;i<=n;i++){


{

swap(x[t],x[i]);

backtrack(t+1);

swap(x[t],x[i]);

}

}

? ??

}

}

int main()

{

cin>>n;

for(int i=1;i<=n;i++) cin>>x[i];?

cout<<"---------\n";

backtrack(1);

cout<<"---------\n";

cout<<"sum="<<sum;

return 0;

}

2、有重復(fù)元素的去重復(fù)排列算法

#include<iostream>?

#include<algorithm>

using namespace std;?

int x[100],n,sum=0;

void backtrack(int t)

{

if(t>n) {

for(int i=1;i<=n;i++)cout<<" "<<x[i];

cout<<"\n";

sum++;

}

else{

for(int i=t;i<=n;i++){

int ok=1;

for(int j=t;j<i;j++)

if(x[j]==x[i]) ok=0;

if(ok)

{

swap(x[t],x[i]);

backtrack(t+1);

swap(x[t],x[i]);

}

}

? ??

}

}




int main()

{

cin>>n;

for(int i=1;i<=n;i++) cin>>x[i];?

cout<<"---------\n";

backtrack(1);

cout<<"---------\n";

cout<<"sum="<<sum;

return 0;

}

3、無(wú)重復(fù)元素的去鏡像排列算法

#include<iostream>?

#include<algorithm>

using namespace std;?

int x[100],n,sum=0;

void backtrack(int t)

{

if(t==n) {

for(int i=1;i<=n;i++)cout<<" "<<x[i];

cout<<"\n";

sum++;

}

else{

for(int i=t;i<=n-1;i++){


{

swap(x[t],x[i]);

backtrack(t+1);

swap(x[t],x[i]);

}

}

? ??

}

}

void demirror()

{

for(int i=1;i<n;i++)

{


? ?swap(x[1],x[i]);

? ?for(int j=i+1;j<=n;j++)

? ?{

? ? ?swap(x[n],x[j]);

? ? ?backtrack(2);

? ? ?swap(x[n],x[j]);

? ?}

? ?swap(x[1],x[i]);

? ? }

}


int main()

{

cin>>n;

for(int i=1;i<=n;i++) cin>>x[i];?

cout<<"---------\n";

demirror();

cout<<"---------\n";

cout<<"sum="<<sum;

return 0;

}


回溯法-全排列算法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
古浪县| 临江市| 汕尾市| 隆化县| 苏州市| 神农架林区| 肥乡县| 镇赉县| 昆明市| 句容市| 海丰县| 门源| 房山区| 锦州市| 屏南县| 龙岩市| 雷山县| 梧州市| 汤原县| 西乌珠穆沁旗| 兴安县| 山丹县| 左权县| 新巴尔虎左旗| 开平市| 莱州市| 武宁县| 师宗县| 西林县| 太康县| 康马县| 吐鲁番市| 苏尼特左旗| 固镇县| 卢湾区| 南宫市| 科尔| 冀州市| 泗水县| 哈密市| 临洮县|