Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cstdlib>#include <algorithm>#include <iostream>#include <vector>using namespace std;const int N = 111;const int MOD = 1e9 + 7;int n, q, a[N], factor[N], C[N][N];vector<int> mul[N], add[N];int dp[N][N];void _add(int &a, int b) {if ((a += b) >= MOD) {a -= MOD;}}int main() {scanf("%d %d", &n, &q);//n = q = 100;C[0][0] = 1; factor[0] = 1;for (int i = 1; i <= q; i++) {C[i][0] = 1;factor[i] = 1LL * factor[i - 1] * i % MOD;for (int j = 1; j <= i; j++) {C[i][j] = (C[i - 1][j] + C[i - 1][j - 1]) % MOD;