本文主要是介绍【hdoj_1015】Safecracker(排列组合),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1015
题意:从给定的几个元素选择出符合5个组成一个组合,输出字典序的最后一个符合要求的组合,如果不存在符合要求的组合,则输出"no solution".
从若干元素中选择出5个元素,初看是组合问题,其实不是,因为组合问题选择出来的组合没有顺序的要求,如[X Z U B A]和[U X B A Z]是一个组合,但是对于本题来说,这两种组合是不同的,因为选择出来的如何和[v,w,x,y,z]对应,即v,w,x,y,z分别是多少有5!中可能,所以本题不是简单的组合问题,二是组合+排列问题,可以在全排列问题的基础上求解.
代码如下:
#include<iostream>
#include<string>
#include<algorithm>
这篇关于【hdoj_1015】Safecracker(排列组合)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!