WA#5,90pts求条
查看原帖
WA#5,90pts求条
148875
NaNO2_Cabbage楼主2023/9/11 14:22
#include<bits/stdc++.h>
#define int long long
using namespace std;

int dp[25][625];
int ans[6250];
int n,t;

inline void print() {
	for(int i=1; i<=n; i++)ans[i]=i;
	int cnt = 0;
	for(int i=n-1; i>=1; i--) {
		for(int j=n; j>i; j--) {
			cnt++;
			swap(ans[i],ans[j]);
			if(cnt == t) {
				for(int i=1; i<=n; i++)
					printf("%lld ",ans[i]);
				exit(0);
			}
		}
	}
}


signed main() {
	scanf("%lld%lld",&n,&t);
//	dp[1][1]=0,dp[1][0]=1;
	dp[0][0]=1;
	for(int i=1; i<=n; i++)dp[i][0]=1;
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=(n*(n-1))/2; j++)
			for(int k=j-i+1; k<=j; k++)dp[i][j]+=dp[i-1][k];
	}
	cout<<dp[n][t]<<endl;
	print();
	return 0;
}

rt WA#5,求助

2023/9/11 14:22
加载中...