博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
南阳366--D的小L(Dfs)
阅读量:6893 次
发布时间:2019-06-27

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

D的小L

时间限制:
4000 ms  |  内存限制:65535 KB
难度:
2
 
描述
      一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧
),有一个数n(0<n<10),写出1到n的全排列,这时匡匡有点囧了
,,,聪明的你能帮匡匡解围吗?
 
输入
第一行输入一个数N(0<N<10),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个整数x(0<x<10)
输出
按特定顺序输出所有组合。
特定顺序:每一个组合中的值从小到大排列,组合之间按字典序排列。
样例输入
223
样例输出
1221123132213231312321
来源
上传者
RE: 就是组合数那一类题。
1 #include 
2 #include
3 #include
4 using namespace std; 5 int n, dis[10], vis[10]; 6 void Dfs(int a) 7 { 8 if(a == n) 9 {10 for(int i = 0; i < n; i++)11 printf("%d", dis[i]);12 printf("\n");13 return;14 }15 else16 {17 for(int i = 1; i <= n; i++)18 {19 if(vis[i])20 continue;21 vis[i] = 1;22 dis[a] = i; 23 Dfs(a + 1);24 vis[i] = 0;25 }26 }27 }28 int main()29 {30 int t;31 scanf("%d", &t);32 while(t--) 33 {34 scanf("%d", &n);35 memset(vis, 0, sizeof(vis));36 Dfs(0);37 }38 return 0;39 }
1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 int main() 7 { 8 int t; 9 scanf("%d", &t);10 while(t--)11 {12 int n, list[10];13 scanf("%d", &n);14 for(int i = 0; i < n; i++)15 list[i] = i + 1;16 int pre = -1;17 do{18 if(list[n-1] != pre)19 {20 for(int i = 0; i < n; i++)21 printf("%d", list[i]);22 printf("\n");23 pre = list[n-1];24 }25 }while(next_permutation(list, list + n));26 }27 return 0;28 }
STL--next_permutation(a, a+n)(我nm, 函数名容易记错有木有。)

 

转载于:https://www.cnblogs.com/soTired/p/4726106.html

你可能感兴趣的文章
ssh项目实战----ajax+jquery报表数据显示
查看>>
webservice第一篇【介绍、Scoket、http调用、wsimport调用】
查看>>
vuex1.0你不知道的简单写法
查看>>
Netty 源码分析之拆包器的奥秘
查看>>
Python 语法速览与实战清单
查看>>
RxJava 沉思录(二):空间维度
查看>>
Curator: ZooKeeper的使用配方
查看>>
Python类、模块、包的概念及区别
查看>>
Spark in action on Kubernetes - Playground搭建与架构浅析
查看>>
Android Clipboard 详解
查看>>
柯里化
查看>>
猪年KubeCon+CloudNativeCon中国论坛提案征集(CFP)2月22日截止
查看>>
从零到一 styled-components 4.x 的使用
查看>>
js 插入算法
查看>>
JavaScript 字符串简介
查看>>
这样的单点登录才最有效果,很多大咖牛人都不知道!
查看>>
Parcel + react + ts 的脚手架
查看>>
计算时间差,页面倒计时,安卓与ios兼容问题
查看>>
Nginx反向代理和jetty服务器配置
查看>>
函数节流和防抖
查看>>