小埋排列序列 求助

#include<bits/stdc++.h>
using namespace std;
int n,m,cnt,a[15],c;
bool used[15];
void dfs(int dep){
	if(dep>n)cnt++;
	if(cnt==m){
		for(int i=1;i<=n;i++)cout<<a[i];
		exit(0);
	}
	for(int i=1;i<=n;i++){
		if(used[i]==0){
			a[dep]=i;used[i]=1;
			dfs(dep+1);
			used[i]=0;
		}
	}
}
int main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	cin>>n>>m;
	dfs(0);
	
}

1. 小埋排列序列

题目描述

给出集合 [1,2,3,…,n] ,其所有元素共有 n!种排列。

按招大小顺序列出所有排列情况,并一一标记,当 n = 3时,所有排列如下:

1.“123”

2.“132”

3.“213”

4.“231“

5.“312”

6.“321”

给定 n 和 k,返回第 k 个排列。

输入格式

第一行输入两个整数 n 和 k。

输出格式

输出第 kk 个序列。

样例

Input 1

3 3

Output 1

213

Input 2

4 9

Output 2

2314

数据范围

1<= n <= 9 1<=n<=9

1<= k <= n! 1<=k<=n!

6 个赞

这真是你的代码吗:smile:

5 个赞

是的呀

5 个赞

哦,和楼上的好像啊……

4 个赞

你快教啊

6 个赞

问题都一样……

4 个赞
4 个赞

和这个人问题一样

4 个赞

确实,

3 个赞

把这个里面的0改成1应该就A了
@杨晋华

4 个赞

是这样的,

2 个赞

我真服了,又是这种错

5 个赞

不过谢谢你,现已AC
磁贴结

5 个赞

当我没说

3 个赞

乐,臭狙仔

1 个赞

我还跑刀仔呢

2 个赞

也就挺秃然的

1 个赞

一个后滑躲开你(你快结贴吧

1 个赞

结贴了结贴了