开发工具:
文件大小: 675byte
下载次数: 0
上传时间: 2012-11-01
详细说明:8594 有重复元素的排列问题
时间限制:800MS 内存限制:1000K
提交次数:524 通过次数:95
题型: 编程题 语言: 无限制
Description
Input
第1行是元素个数n,1<=n<=15。接下来的1行是待排列的n个元素,元素中间不要加空格。Output
程序运行结束时,将计算输出n个元素的所有不同排列。最后1行中的数是排列总数。
(说明:
此题,所有计算出的排列原本是无所谓顺序的。但为了容易评判,输出结果必须唯一!
现做约定:所有排列的输出顺序如课本P11的例2-4的程序段的输出顺序,区别仅是这道题是含重复元素。)
Sample Input
4
aacc
Sample Output
aacc
acac
acca
caac
caca
ccaa
6
Hint
课本上有“递归”实现无重复元素全排列的源程序。
稍加修改即可满足此题要求。
在递归产生全排列的那段程序开始之前,
加一个判断:判断第i个元素是否在list[k,i-1]中出现过。
Permpp(char list[], int k, int m)
{
......
for (int i=k; i<=m; i++)
{
if (Findsame(list,k,i))//判断第i个元素是否在list[k,i-1]中出现过
continue;
Swap (list[k], list[i]);
Permpp(list, k+1, m);
Swap (list[k], list[i]);
}
}
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.