博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回溯法求 1~n 的排列
阅读量:5371 次
发布时间:2019-06-15

本文共 830 字,大约阅读时间需要 2 分钟。

View Code
#include
void process(int a[],int k){ int i; for(i = 1;i <= k;i++) printf("%d ",a[i]); puts("");}int construct(int a[],int k,int n,int c[]){ int i; int pre[100]; for(i = 1;i < 100;i++) pre[i] = 0; for(i = 1;i < k;i++) pre[a[i]] = 1; int n2 = 0; for(i = 1;i <= n;i++) if(!pre[i]) c[n2++] = i; return n2;}void backtrack(int a[],int k,int n){ int c[100],n2,i; if(k == n) process(a,k); else { k = k+1; n2 = construct(a,k,n,c); for(i = 0;i < n2;i++) { a[k] = c[i]; backtrack(a,k,n); //return ; } }}int main(){ int a[100],n,i; while(scanf("%d",&n)&&n) { backtrack(a,0,n); } return 0;}

转载于:https://www.cnblogs.com/0803yijia/archive/2012/07/25/2608428.html

你可能感兴趣的文章
[Tools] 使用XP远程登录Win8系统
查看>>
【RL-TCPnet网络教程】第38章 TFTP简单文件传输基础知识
查看>>
HDU- 2265 Encoding The Diary
查看>>
socket基本概念
查看>>
[第三方]SCNetworkReachability 获取网络状态控件使用方法
查看>>
在Windows上使用putty连接一台Linux主机
查看>>
Socket常见错误
查看>>
百度地图2.0API和3.0API。你想要的百度地图的这都有
查看>>
专业词汇
查看>>
星期五的收获
查看>>
proxmox 去除订阅提示
查看>>
使用Html.EditorFor()为文本框加上maxlength,placeholder等属性
查看>>
[转]后缀数组求最长重复子串
查看>>
设计模式——外观模式详解
查看>>
MVC3 控件
查看>>
mysql (一)
查看>>
photoshop图层样式初识1
查看>>
【.NET】使用HtmlAgilityPack抓取网页数据
查看>>
typedef的使用
查看>>
基于位置的本地商铺个性化推荐
查看>>