제출 #545539

#제출 시각아이디문제언어결과실행 시간메모리
545539sidonKangaroo (CEOI16_kangaroo)C++17
100 / 100
9 ms336 KiB
#include <bits/stdc++.h>
using namespace std;
#define int int64_t

int N, cs, cf, dp[2002] {1}, prv[2002];

int32_t main() {
	cin >> N >> cs >> cf;

	for(int i = 1; i <= N; ++i) {
		copy(dp, dp + 2002, prv);
		dp[0] = 0;
		for(int j = 1; j <= N; ++j)
			dp[j] = (i == cs || i == cf ? (prv[j-1] + prv[j]) : prv[j+1] * j + prv[j-1] * (j - (i > cs) - (i > cf))) % int(1e9+7);
	}

	cout << dp[1];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...