八月惊魂

这是一个远古时期的秘密,至今已无人关心。 这个世界的每个时代可以和一个 1 ∼ n 的排列一一对应。 时代越早,所对应的排列字典序就越小。
我们知道,公爵已经是 m 个时代前的人物了。
并且通过翻阅古籍,我们得知了公爵所在时代所对应的排列。
那么我们的时代所对应的排列是什么?
希望以此能寻回我们失落的文明……

这道题涉及了字典序(https://www.cnblogs.com/wuyepeng/p/9663261.html)

组合排列(https://blog.csdn.net/zeo_m/article/details/80505404)

只是,我一开始并不知道这道题是啥意思。

但我绝对没想到这道题有如此简单的解法:

#include <cstdio>
#include <algorithm>
using namespace std
int n, m, a[10010];
int main(){ 
    scanf("%d%d", &n, &m);
    for(int i=1;i<=n;++i) scanf("%d", a + i);
    while (m--) next_permutation(a + 1, a + n + 1);
    for(int i=1;i<=n;++i) printf("%d ", a[i]);
    return 0;
}

其中“next_permutation”表示的是“下一个排列”,

具体用法请参照https://www.cnblogs.com/eudiwffe/p/6260699.html

大水题!大水题!

不得不说,这个作者很厉害(niu bi)

 

posted @ 2019-07-12 20:04  收废品的老头子  阅读(213)  评论(0编辑  收藏  举报