sdut oj 1163 C语言实验——排列 (当初不会递归生成排列,这个题目现在才补上 刘汝佳给出了写法 *【模板】 当然有生成全排列的函数存在 )
C语言实验——排列
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
输入
输出
示例输入
1 2 3 4
示例输出
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
1 2 4
1 4 2
2 1 4
2 4 1
4 1 2
4 2 1
1 3 4
1 4 3
3 1 4
3 4 1
4 1 3
4 3 1
2 3 4
2 4 3
3 2 4
3 4 2
4 2 3
4 3 2 也许是很可笑吧,大一就该学会的题目,我是到现在才做,不过至少我还没放弃和忘记!
俞敏洪说:爬上金字塔的有两种生物,一是雄鹰,靠自身的天分就可以飞得很高,登上金字塔的顶峰是轻而易举的。
还有一种生物是蜗牛,靠着一股毅力和信心,它一样可以爬到金字塔的顶峰,只要它还在努力,只要它还没放弃,一
切都还有希望!
希望每个在向成功路上奋斗的每个人都会像蜗牛那样继续坚持下去!终有一天会登顶金字塔,看到别人看不到的人
生风景。 代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <limits.h>
#include <algorithm> using namespace std;
int a[4]; void Print_permutation(int n, int *a, int *c, int cur )
{
int i, j;
if(cur==n)
{
for(i=0; i<n; i++)
{
if(i==0)
printf("%d", a[i] );
else
printf(" %d", a[i]);
}
printf("\n");
}
else
{
for(i=0; i<3; i++)
{
int ok=1;
for(j=0; j<cur; j++)
{
if(a[j]==c[i] ) ok=0;
}
if(ok)
{
a[cur]=c[i];
Print_permutation(n, a, c, cur+1 );
}
}
}
} int main()
{
int i, j; for(i=0; i<4; i++)
scanf("%d", &a[i] ); int b[3];
int c[3];
b[0]=a[0]; b[1]=a[1]; b[2]=a[2]; //1 2 3
for(i=0; i<3; i++) c[i]=b[i];
Print_permutation(3, b, c, 0); b[0]=a[0]; b[1]=a[1]; b[2]=a[3]; //1 2 4
for(i=0; i<3; i++) c[i]=b[i];
Print_permutation(3, b, c, 0); b[0]=a[0]; b[1]=a[2]; b[2]=a[3]; //1 3 4
for(i=0; i<3; i++) c[i]=b[i];
Print_permutation(3, b, c, 0); b[0]=a[1]; b[1]=a[2]; b[2]=a[3]; //2 3 4
for(i=0; i<3; i++) c[i]=b[i];
Print_permutation(3, b, c,0); return 0;
}
sdut oj 1163 C语言实验——排列 (当初不会递归生成排列,这个题目现在才补上 刘汝佳给出了写法 *【模板】 当然有生成全排列的函数存在 )的更多相关文章
- 刘汝佳黑书 pku等oj题目
原文地址:刘汝佳黑书 pku等oj题目[转]作者:小博博Mr 一.动态规划参考资料:刘汝佳<算法艺术与信息学竞赛><算法导论> 推荐题目:http://acm.pku.edu. ...
- 《算法竞赛入门经典》刘汝佳 C语言部分(前四章)“注解与习题” 之思索 -<1>
此书我购于去年的十一月份,也是经前人推荐购买的一本比较有用的书籍,在寒假自学此书,其简洁清晰高效的示例代码令我印象深刻,于是我打算把这本书的前四章后面的注解与习题(未给出标准解答)认真的去思索和研究, ...
- SDUT 1177 C语言实验——时间间隔
C语言实验——时间间隔 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description 从键 ...
- 【南阳OJ分类之语言入门】80题题目+AC代码汇总
小技巧:本文之前由csdn自动生成了一个目录,不必下拉一个一个去找,可通过目录标题直接定位. 本文转载自本人的csdn博客,复制过来的,排版就不弄了,欢迎转载. 声明: 题目部分皆为南阳OJ题目. 代 ...
- 2006: C语言实验——拍皮球
2006: C语言实验——拍皮球 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 231 Solved: 162[Submit][Status][Web ...
- ytu 2002:C语言实验——单词统计(水题)
C语言实验——单词统计 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 61 Solved: 34[Submit][Status][Web Board] ...
- ytu 1998:C语言实验——删除指定字符(水题)
C语言实验——删除指定字符 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 327 Solved: 211[Submit][Status][Web Boa ...
- ytu 1985:C语言实验——保留字母(水题)
C语言实验——保留字母 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 136 Solved: 59[Submit][Status][Web Board] ...
- ytu 2029: C语言实验——温度转换(水题)
2029: C语言实验——温度转换 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 12 Solved: 10[Submit][Status][Web B ...
随机推荐
- k8s入门简介
1.docker的三种编排工具 Docker的第一类编排工具: a.docker compose(docker原生):只能对一个主机上的容器进行编排,无法编排多个主机上的容器; b.docker sw ...
- Java中HashMap的初始容量设置
根据阿里巴巴Java开发手册上建议HashMap初始化时设置已知的大小,如果不超过16个,那么设置成默认大小16: 集合初始化时, 指定集合初始值大小. 说明: HashMap使用HashMap(in ...
- 卸载ArcGISDesktop低版本程序遇到异常,如何完全卸载?
[解决办法]:正常情况下,运行 ArcGIS for Desktop 光盘中的 “冲突检测”工具,会自动完全卸载低版本的ArcGIS 程序.如果遇到异常无法卸载(例如安装过非正式版软件),如下位置是A ...
- iOS -- SKSpriteNode类
SKSpriteNode类 继承自 SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) ...
- linux下脚本监控网络流量
linux下脚本监控网络流量 学习了:https://blog.csdn.net/chenghuikai/article/details/48437479 学习了:http://www.jb51.ne ...
- angular - 小结
引入样式: 导入全局 - >styles.css 导入第三方 - > 在package.json配置,然后再 npm install 安装好以后,最后再angular.json里面的sty ...
- 直接返回list不封装的结果集
直接返回list不封装的结果集,在Jsp访问方式: 1.封装成map访问 2.用jstl: <c:forEach var="images" items="${lis ...
- Heap & Priority Queue
Heap & Priority Queue Definition & Description: In computer science/data structures, a prior ...
- selector的button选中处理问题
1.背景介绍 在做Android项目开发的时候,有时我们须要对button做一些特殊的处理,比方button点击的时候会有一个动画的效果,实际上就是几张图片在短时间的切换.再比方有时候我们须要对界面的 ...
- UE-9260使用说明2
生成镜像 1. U-boot 生成u-boot.bin文件 (1) Makefile ifeq ($(ARCH),arm) CROSS_COMPILE = endif 改动为 ifeq ($(ARCH ...