Submission #798424

#TimeUsernameProblemLanguageResultExecution timeMemory
798424vjudge1Tents (JOI18_tents)C++17
100 / 100
123 ms71496 KiB
#ifdef Home #define _GLIBCXX_DEBUG #endif // Home #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; const int N = 3030; const ll mod = 1e9 + 7; void add(ll &x, ll y) { x += y; x %= mod; if(x < 0) { x += mod; } } ll dp[N][N]; main() { #ifdef Home freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif // Home ios_base::sync_with_stdio(0); cin.tie(0); int n, m; cin >> n >> m; for(int i = N; i --> 0; dp[i][0] = dp[0][i] = 1); for(int i = 1; i <= n; ++ i) { for(int j = 1; j <= m; ++ j) { add(dp[i][j], dp[i - 1][j]); add(dp[i][j], dp[i - 1][j - 1] * j * 4); if(j > 1) { add(dp[i][j], dp[i - 1][j - 2] * (j * j - j) / 2); } if(i > 1) { add(dp[i][j], dp[i - 2][j - 1] * j * (i - 1)); } } } add(dp[n][m], -1); cout << dp[n][m]; }

Compilation message (stderr)

tents.cpp:25:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   25 | main() {
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...