1. 程式人生 > >loj2173 「FJOI2016」建築師

loj2173 「FJOI2016」建築師

The %d printf article iostream const str class mod

ref
真是道組合數學神題啊……第一次見第一類斯特林數……

#include <iostream>
#include <cstdio>
using namespace std;
typedef long long ll;
int T, n, a, b, s[50005][205], c[205][205];
const int mod=1e9+7;
int main(){
    for(int i=0; i<=50000; i++){
        if(i<=200)  s[i][i] = 1;
        for(int j=1; j<=min(i-1, 200); j++)
            s[i][j] = (s[i-1
][j-1] + (ll)s[i-1][j]*(i-1)%mod) % mod; } for(int i=0; i<=200; i++){ c[i][0] = 1; for(int j=1; j<=i; j++) c[i][j] = (c[i-1][j-1] + c[i-1][j]) % mod; } cin>>T; while(T--){ scanf("%d %d %d", &n, &a, &b); printf("%d\n"
, (ll)s[n-1][a+b-2]*c[a+b-2][a-1]%mod); } return 0; }

loj2173 「FJOI2016」建築師