文章
4
粉丝
501
获赞
4
访问
42.8k
解题思路:使用C++标准库中next_permutation()算法获取每次的排列,但是此算法不包括序列本身,需要你手动输出序列。还有就是,使用C++中cout输出会超时,改成C语言的printf函数输出。
// 题目描述
// Time Limit: 1000 ms
// Memory Limit: 256 mb
// 一自然数N,设N为3,则关于N的字典序排列为123,132,213,231,312,321。对于一个自然数N(1<= N <= 9 ) ,
// 你要做的便是生成它的字典序排列。
#include
#include
#include
using namespace std;
void get_next(vector& vec)
{
// int index = 1;
for(int i = 0; i < vec.size(); ++i)
{
cout << vec[i] << " ";
}
cout << endl;
while(next_permutation(vec.begin(), vec.end()))
{
vector::iterator it = vec.begin();
for(; it != vec.end(); ++it)
{
cout << *it << " ";
}
cout << endl;
...
登录后发布评论
暂无评论,来抢沙发