55分,求大佬帮忙

P2822 [NOIP2016 提高组] 组合数问题

~~希望更丰富的展现?使用Markdown~~
by koosi @ 2018-09-09 23:02:17


~~希望更丰富的展现?使用Markdown~~
by 冬瓜皮 @ 2018-09-09 23:14:18


帮楼主整理好代码 ```cpp #include<iostream> #define ll long long using namespace std; const int N = 2002; int k, t; ll dp[N][N], f[N][N], ans[10002]; int panduan(int y) { if (y == 0) return 0; if (y % t == 0) return 1; return 0; } int main() { cin >> k >> t; for (int i = 0; i <= 2000; i++) dp[i][0] = 1; for (int i = 1; i <= 2000; i++) for (int j = 1; j <= i; j++) dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j]; f[0][0] = panduan(dp[0][0]); for (int i = 1; i <= 2000; i++) for (int j = 0; j <= 2000; j++) { f[i][j] = f[i][j - 1] + f[i - 1][j] - f[i - 1][j - 1] + panduan(dp[i][j]); } int x, y, s = 0; for (int i = 1; i <= k; i++) { cin >> x >> y; ans[++ans[0]] = f[x][min(x, y)]; } for (int i = 1; i <= ans[0]; i++) cout << ans[i] << endl; } ```
by yizimi远欣 @ 2018-09-10 01:43:16


|