数字排列(n,m)(搜索与回溯)
2024-08-28 04:07:41
题目描述:
设有n个整数的集合{1,2,…,n},从中取出任意r个数进行排列(r<n),试列出所有的排列。
代码如下:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<iomanip>
using namespace std;
int sum,a[100],b[100];
int search(int);
int print();
int n,r;
int main()
{
scanf("%d%d",&n,&r);//从n个数中选r个数;
search(1);//就是有r个位置,从n中个数选择数字来填,从第一个开始;
cout<<"number="<<sum<<endl;
return 0;
}
int search(int x)
{
for(int i=1;i<=n;i++)//有n种可能
{
if(!b[i])//如果没有被填过
{
a[x]=i;//第x个数是i
b[i]=1; //标志i已经填过;
if(x==r)print();//如果填完,输出
else search(x+1);//否则 填下一个
b[i]=0;//回溯。
}
}
}
int print()
{
sum++;
for(int j=1;j<=r;j++)
cout<<setw(2)<<a[j];
cout<<endl;
}
最新文章
- 页面滚动到底部自动 Ajax 获取文章
- git超详细教程
- J2EE基础之Web服务简介
- slickedit的alias配置
- sql2000 (附加数据库)错误9003:LSN(434:94:1)无效和数据库置疑处理
- 【转】ora-00031:session marked for kill处理oracle中杀不掉的锁
- css&;js实现顶部banner滚动提示效果
- Tortoise SVN 更换用户
- mysql 关于日期时间的字段类型
- MD5和Base64介绍与应用
- 一个响应式数据库框架SQLBrite,完美解决数据库和UI的同步更新!
- xcode 中添加pch文件
- [51Testing情人节活动]情人节,爱要有“礼”才完美!
- phalcon做日报告提交平台总结
- Android ServiceConnection类的onServiceDisconnected(ComponentName name)在什么时候执行
- Sql(in与exists)
- 基于谱聚类的三维网格分割算法(Spectral Clustering)
- Memory Monitor
- EasyUI 二次加载toolbar异常问题解决
- eclipse设置新建jsp默认编码格式utf-8
热门文章
- asp.net Cookie 用户登陆时记住我
- Understanding When to use RabbitMQ or Apache Kafka
- 【HackerRank】Sherlock and Array
- PMON使用手册
- 【Head First Servlets and JSP】笔记12:URL重写
- char,uchar,0xff
- 如何编写 Makefile
- BZOJ2878 [Noi2012]迷失游乐园
- UOJ180 【UR #12】实验室外的攻防战
- 考虑 PHP 5.0~5.6 各版本兼容性的 cURL 文件上传