[DFS]排列的生成
2024-09-06 13:41:32
排列的生成
Time Limit:1000MS Memory Limit:65536K
Total Submit:150 Accepted:95
Description
输出P(n,m)的排列(n,m<=10)
Input
n,m;
Output
P(n,m)的排列
Sample Input
3 2
Sample Output
1 2
1 3
2 1
2 3
3 1
3 2
题目解析
先读入n,m;再爆搜
AC完整程序
#include<stdio.h>
#include<string.h>
int a[10],c[10];
void dfs(int,int,int);
int main(){
int n,m;
scanf("%d%d",&n,&m);
dfs(n,m,0);
return 0;
}
void dfs(int n,int m,int dep){
if(dep>=m){
for(int i=0;i<m;i++){
printf("%d ",c[i]);
}
printf("\n");
return ;
}
for(int i=1;i<=n;i++){
if(!a[i])
{
a[i]=1;
c[dep]=i;
dfs(n,m,dep+1);
a[i]=0;
c[dep]=0;
}
}
}
最新文章
- AutoMapper(一)
- suspendlayout
- AngularJS的学习--$on、$emit和$broadcast的使用
- FFMpeg写MP4文件例子分析
- Bootstrap3.0学习第二十一轮(JavaScript插件——工具提示)
- DevExpress 14.2 批量汉化 以及客户端的汉化
- [cocos2d-js]chipmunk例子(二)
- ORACLE参数文件
- Vijos1865 NOI2014 魔法森林 LCT维护生成树
- Servlet编码和解码
- 详解SpringMVC请求的时候是如何找到正确的Controller
- History of program (language).
- 10.9-uC/OS-III任务管理
- java中网络设置代理
- java 简单认识移位运算符和位运算符
- Android实用代码
- dubbo+maven多模块项目单元测试
- 【SpringMVC笔记】第一课-框架执行过程
- C# 委托/Func() 中 GetInvocationList() 方法的使用 | 接收委托多个返回值
- option和 usb-serial驱动基本区别