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 ...
随机推荐
- Centos7源码安装MySQL5.7
a.连接数据库报111 从一台linux远程连接另一台linux上的MySQL,出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx. ...
- 济南day4
啥也不会,做了不对,对了没分.T1 50 + 30 + 0想了想,有思路,写了,半个小时写完,算错复杂度,复杂度最差(n*m),想成了(n+m)被卡没了50分,gg.....T2自己写了个单向并查集, ...
- java多线程04----------final和static
final和static关键字 final关键字 1.final关键字在单线程中的特点: 1)final修饰的静态成员:必须在进行显示初始化或静态代码块赋值,并且仅能赋值一次. 2)final修饰的类 ...
- U-boot for Tiny4412
我的开发板型号: Tiny4412ADK + S700 4GB Flash 1. Build uboot a) 安装好toolchain (arm-linux-gcc-4.5.1-v6-vfp-201 ...
- iphone坐标系统
1,基本概念 CGPoint{x,y};空间中的位置,通过x和y坐标定义 CGSize{width, height}; 大小,通过宽度和高度定义 CGRect{origin, size};位置和大小, ...
- mysql读写分离的三种实现方式
1 程序修改mysql操作类可以参考PHP实现的Mysql读写分离,阿权开始的本项目,以php程序解决此需求.优点:直接和数据库通信,简单快捷的读写分离和随机的方式实现的负载均衡,权限独立分配缺点:自 ...
- sublime的tab和spaces空格切换的坑
python是严格要求对齐或者叫缩进的: 使用sublime对python进行编程时,可以使用tab或者空格,但是不能混用.特别是从外面把代码拷贝进sublime的时候,更要注意是否一致. 简单介绍一 ...
- maven运行update命令时报org/apache/maven/shared/filtering/MavenFilteringException错误
在eclipse中对准项目运行maven->update project命令时报错:org/apache/maven/shared/filtering/MavenFiltering ...
- 【转】supervisord使用
Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(不仅仅是 Python 进程).除了对单个进程的 ...
- eclipse下的ssh框架整合过程及測试
最近在搭建Stuts2+hibernate+spring的框架,网上看的教程,大部分都是非常easy的步骤.没有比較具体的步骤以及每一个步骤完毕之后怎样检查是否配置成功.下面是笔者依据自己搭建的过程进 ...