站外题目求助
  • 板块灌水区
  • 楼主lutaoquan2012
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/1/3 21:59
  • 上次更新2024/1/4 13:38:05
查看原帖
站外题目求助
952033
lutaoquan2012楼主2024/1/3 21:59

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;
}

求改,请私信

2024/1/3 21:59
加载中...