YTU 2845: 编程题AB-卡片游戏
2845: 编程题AB-卡片游戏
时间限制: 1 Sec 内存限制: 128 MB
提交: 30 解决: 13
题目描述
小明对数字的序列产生了兴趣:
现有许多张不同的数字卡片,用这若干张卡片能排列出很多序列,要求算出这若干张不同卡片的全排列总数,并按从小到大的顺序输出这些序列。
输入
输入数字n,表示输入数字序列个数,接着输入n个不同的数字,代表n张卡片上的数字(0<=数字<=9,1<=n<=6)。
输出
对每组卡片按从小到大的顺序输出所有能由这几张卡片组成的序列,每个序列占一行,序列中数字用空格分隔。
样例输入
3
1 4 2
样例输出
6
1 2 4
1 4 2
2 1 4
2 4 1
4 1 2
4 2 1
你 离 开 了 , 我 的 世 界 里 只 剩 下 雨 。 。 。
#include <stdio.h>
#include <string.h>
int a[12],b[12],c[12],n;
void dfs(int step)
{
int i;
if(step==n+1)
{
for(i=1; i<=n; i++)printf(i!=n?"%d ":"%d\n",a[i]);
return;
}
for(i=1; i<=n; ++i)
if(b[i]==0)
{
a[step]=c[i];
b[i]=1;
dfs(step+1);
b[i]=0;
}
}
void sort(int *a,int n)
{
int i,j,t;
for(i=0; i<n; i++)
for(j=0; j<n-i; j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
int main()
{
scanf("%d",&n);
int sum=1, i;
memset(b,0,sizeof(b));
for(i=1; i<=n; ++i)
{
scanf("%d",a+i);
c[i]=a[i];
}
for(i=n; i>0; i--)sum*=i;
printf("%d\n",sum);
sort(a,n);
sort(c,n);
dfs(1);
return 0;
}
#include <string.h>
int a[12],b[12],c[12],n;
void dfs(int step)
{
int i;
if(step==n+1)
{
for(i=1; i<=n; i++)printf(i!=n?"%d ":"%d\n",a[i]);
return;
}
for(i=1; i<=n; ++i)
if(b[i]==0)
{
a[step]=c[i];
b[i]=1;
dfs(step+1);
b[i]=0;
}
}
void sort(int *a,int n)
{
int i,j,t;
for(i=0; i<n; i++)
for(j=0; j<n-i; j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
int main()
{
scanf("%d",&n);
int sum=1, i;
memset(b,0,sizeof(b));
for(i=1; i<=n; ++i)
{
scanf("%d",a+i);
c[i]=a[i];
}
for(i=n; i>0; i--)sum*=i;
printf("%d\n",sum);
sort(a,n);
sort(c,n);
dfs(1);
return 0;
}
YTU 2845: 编程题AB-卡片游戏的更多相关文章
- YTU 2598: 编程题B-小平智斗自动售货机
2598: 编程题B-小平智斗自动售货机 时间限制: 1 Sec 内存限制: 128 MB 提交: 268 解决: 69 题目描述 LYH自动售货机在销售商品时,具有自动找钱功能.但是找零的最小单 ...
- YTU 2597: 编程题B-选拔飞行员
2597: 编程题B-选拔飞行员 时间限制: 1 Sec 内存限制: 128 MB 提交: 131 解决: 35 题目描述 2100年空军选拔高中生飞行学员基本条件要求如下,年龄范围:16-19周 ...
- YTU 2596: 编程题B-日期格式
2596: 编程题B-日期格式 时间限制: 1 Sec 内存限制: 128 MB 提交: 981 解决: 74 题目描述 注:本题只需要提交编写的函数部分的代码即可. 将输入的日期格式 月/日/年 ...
- YTU 2858: 编程题AB-骨牌铺方格
2858: 编程题AB-骨牌铺方格 时间限制: 1 Sec 内存限制: 128 MB 提交: 87 解决: 23 题目描述 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出 ...
- YTU 2837: 编程题B-狐狸算卦
2837: 编程题B-狐狸算卦 时间限制: 1 Sec 内存限制: 128 MB 提交: 76 解决: 52 题目描述 注:本题只需要提交需要完善部分的代码,请按照C++方式提交. 小熊和狐狸是邻 ...
- YTU 2640: 编程题:运算符重载---矩阵求和
2640: 编程题:运算符重载---矩阵求和 时间限制: 1 Sec 内存限制: 128 MB 提交: 484 解决: 190 题目描述 /* 有两个矩阵a和b,均为2行3列.求两个矩阵之和. 重 ...
- YTU 2795: 编程题AB-侦察员的密码
2795: 编程题AB-侦察员的密码 时间限制: 1 Sec 内存限制: 128 MB 提交: 155 解决: 43 题目描述 侦察员小甲在被捕前在墙上写了两行文字(ASCII字符),其中包含了他 ...
- YTU 2615: AB编程题--世界杯小组赛
2615: AB编程题--世界杯小组赛 时间限制: 1 Sec 内存限制: 128 MB 提交: 100 解决: 35 题目描述 注:本题目自由设计,但必须使用类进行代码设计. 世界杯32支参赛队 ...
- POJ C程序设计进阶 编程题#3 : 排队游戏
编程题#3:排队游戏 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 在幼儿 ...
随机推荐
- angularjs自己总结
1.模块 自定的directive和controller需要在同一个model下,或者另外的model depModules他了. ng-app要等于model的名字,所有的directive要在下面 ...
- spring的IOC和DI
https://blog.csdn.net/fuzhongmin05/article/details/55802816 (1)IOC:控制反转,把对象创建交给spring进行配置 (2)DI:依赖注入 ...
- HDU1412-{A} + {B},通过率并不高,但同样是用一个很简洁的函数unique,超短代码水过~
{A} + {B} Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) http: ...
- bzoj3142[Hnoi2013]数列 组合
Description 小 T最近在学着买股票,他得到内部消息:F公司的股票将会疯涨.股票每天的价格已知是正整数,并且由于客观上的原因,最多只能为N.在疯涨的K天中小T观察 到:除第一天外每天的股价都 ...
- HDU 2629 Identity Card
简单题 给出身份证号 判断住址 和出生年月 熟练字符串的操作 主要是string::substr(s, l)//s:起始位置 l长度 #include <iostream> #includ ...
- Codeforces917D. Stranger Trees
$n \leq 100$的完全图,对每个$0 \leq K \leq n-1$问生成树中与给定的一棵树有$K$条公共边的有多少个,答案$mod \ \ 1e9+7$. 对这种“在整体中求具有某些特性的 ...
- Git学习之常见错误 clone被拒绝
Git学习之常见错误 问题: git clone 时 报错 Permission Denied (权限被拒绝). 解决方法: 需要把本地的公钥上传到服务器. 解决步骤: ①第一步,设置本地的git的用 ...
- Dividing--hdu1059(动态规划)
Problem Description Marsha and Bill own a collection of marbles. They want to split the collection a ...
- 51nod 1907(多项式乘法启发式合并)
题目: 分析: 对于一个确定的生成子图,很明显是在一个连通块上走,走完了再跳到另一个连通块上,假设连通块个数为cnt,那么答案一定是$min(a_{cnt-1},a_cnt,..,a_{n-1})$ ...
- 在Studio中使用Access数据库时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”
错误提示: