제출 #769334

#제출 시각아이디문제언어결과실행 시간메모리
769334LucaIlieTents (JOI18_tents)C++17
48 / 100
143 ms354472 KiB
#include <bits/stdc++.h> using namespace std; const int MAX_N = 500; const int MOD = 1e9 + 7; long long dp[MAX_N][MAX_N][MAX_N]; int main() { int n, m; cin >> n >> m; dp[0][m][0] = 1; for ( int i = 1; i <= n; i++ ) { for ( int c = 0; c <= m; c++ ) { for ( int l = 0; l <= i; l++ ) { dp[i][c][l] = (l > 0 ? dp[i - 1][c][l - 1] : 0) + dp[i - 1][c + 1][l] * (c + 1) * 4 + dp[i - 1][c + 2][l] * (c + 2) * (c + 1) / 2 + dp[i - 1][c + 1][l + 1] * (c + 1) * (l + 1); dp[i][c][l] %= MOD; } } } int sol = 0; for ( int c = 0; c < m; c++ ) { for ( int l = 0; l <= n; l++ ) sol = (sol + dp[n][c][l]) % MOD; } cout << sol; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...