Submission #1779295
Source Code Expand
#include <cstdio> #include <vector> #include <string> using namespace std; const int MOD = 1e9 + 7; int dp[2001][2001]; int dfs(int a, int b, int k) { if (a + b == 1) return dp[a][b] = 1; if (a + b == k) { if (a == k || b == k) return dp[a][b] = 0; return dp[a][b] = 1; } if (dp[a][b] > 0) return dp[a][b]; int &res = dp[a][b]; res = 0; for (int i = 0; i < k; i ++) if (a >= i && b >= k - i - 1) (res += dfs(a - i, b - (k - i - 1), k)) %= MOD; return res; } int main() { int n, m, k, ans = 0; scanf("%d%d%d", &n, &m, &k); memset(dp, -1, sizeof dp); for (int i = n; i > 0; i -= k - 1) for (int j = m; j > 0; j -= k - 1) (ans += dfs(i, j, k)) %= MOD; printf("%d\n", ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Eternal Average |
User | KokiYmgch |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 860 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:26:33: error: ‘memset’ was not declared in this scope memset(dp, -1, sizeof dp); ^ ./Main.cpp:25:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%d", &n, &m, &k); ^