这题咋做
  • 板块灌水区
  • 楼主zcx0628
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/5/18 21:13
  • 上次更新2024/5/18 22:38:15
查看原帖
这题咋做
779007
zcx0628楼主2024/5/18 21:13

我在某个OJ上见到了一道题。
问题描述
  0、1、2三个数字的全排列有六种,按照字母序排列如下:
012、021、102、120、201、210

输入n, M。求0~n-1十个数的全排列中的第M个(第1个为0 1 2 3 4 .. n-1)。

输入格式 一行,包含n, M

输出格式 一行,包含一组n个数字的全排列

我的代码:

#include<bits/stdc++.h>
using namespace std;
int main(void){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    long long n,m;
    cin>>n>>m;
    int val[30]={};
    for(long long i=0;i<n;i++)val[i]=i;
    for(long long i=1;i<m;i++)next_permutation(val,val+m-1);
    for(long long i=0;i<n;i++)cout<<val[i]<<" ";
    return 0;
}

对了,时间:1s,内存:256MB

2024/5/18 21:13
加载中...