Pills - http://acm.hdu.edu.cn/showproblem.php?pid=4165
从哪里来?【0MS】
#include <bits/stdc++.h> using namespace std; #define MXN 35 long long c[MXN] = {1,1}; void init(){ for(int i = 2; i < MXN; i++){ for(int j = 0; j < i; j++){ c[i] += c[j]*c[i-j-1]; } } } int main(){ int n; init(); while(scanf("%d", &n), n){ cout << c[n] << endl; } return 0; }
到哪里去?【0MS】
#include <bits/stdc++.h> using namespace std; #define MXN 35 long long c[MXN<<1] = {1}; void init(){ for(int i = 0; i < MXN; i++){ for(int j = 0; j <= i; j++){ c[j+i+1] += (i==j?1:2)*c[j]*c[i]; } } } int main(){ int n; init(); while(scanf("%d", &n), n){ cout << c[n] << endl; } return 0; }