Submission #114128

#TimeUsernameProblemLanguageResultExecution timeMemory
114128SaboonAsceticism (JOI18_asceticism)C++14
49 / 100
94 ms55996 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int maxn = 3000 + 10;
const int mod = 1e9 + 7;

int dp[maxn][maxn];

int main(){
	ios_base::sync_with_stdio(false);
	int n, k;
	cin >> n >> k;
	dp[1][1] = 1;
	for (int i = 1; i < n; i++){
		for (int j = 1; j <= i; j++){
			dp[i + 1][j] = (dp[i + 1][j] + 1ll * j * dp[i][j]) % mod;
			dp[i + 1][j + 1] = (dp[i + 1][j + 1] + 1ll * (i - j + 1) * dp[i][j]) % mod;
		}
	}
	cout << dp[n][k] << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...