Submission #1313316

#TimeUsernameProblemLanguageResultExecution timeMemory
1313316timeflewAsceticism (JOI18_asceticism)C++20
49 / 100
8 ms12600 KiB
#include<bits/stdc++.h>
using namespace std;

#define ll long long

const int mxN=3e3;
const int mod=1e9+7;

int dp[mxN+1][mxN+1];
int n, m;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cin>>n>>m;
	m--;
	dp[1][0]=1;
	for(int i=2; i<=n; i++) {
		for(int j=0; j<=m; j++) {
			dp[i][j]=(dp[i][j]+1ll*dp[i-1][j]*(j+1))%mod;	
			if(j>=1)
				dp[i][j]=(dp[i][j]+1ll*dp[i-1][j-1]*(i-j))%mod;
		}
	}
	cout<<dp[n][m];
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...