file:///C:/Users/55062/AppData/Local/Temp/ClassIn_20240103215811.jpeg
题目图片在这里
我的代码:
//
// Created by 55062 on 2023/12/23.
//
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,a[50],h[50],f[50],vis[50];
int main(){
cin>>n>>m;
f[0]=1;
for(int i=1;i<=n;i++) f[i]=f[i-1]*i;
for(int k=1;k<=n;k++){
for(int i=0;i<n;i++){
//f[n-k]
//cout<<k<<" "<<i<<" "<<f[n-k]*(i+1)-f[n-k]*h[i]<<" "<<m<<endl;
if(f[n-k]*(i+1)-f[n-k]*h[i]>=m&&vis[i]==0){
a[k]=i;
vis[i]=1;
for(int j=n-1;j>=i;j--) h[j]++;
m-=f[n-k]*i;
break;
}
}
}for(int i=1;i<=n;i++) cout<<a[i]<<" ";
return 0;
}
求改,请私信