hihoCoder Challenge 18 register

Ended

Participants:318

Verdict:Accepted
Submitted:2016-02-14 19:53:26

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#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;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX