Java + 递推公式水过,正解MS是卡特兰数AC
import java.io.*;
import java.math.*;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner (new BufferedInputStream(System.in));
int cases;
BigInteger [] f = new BigInteger[1010];
for(int i = 2;i < 1010;i++)
{
f[i] = BigInteger.valueOf(0);
}
f[0] = BigInteger.valueOf(1);
f[1] = BigInteger.valueOf(1);
for(int j = 2;j < 1010;j++)
{
for(int i = 1;i <= j;i++)
{
BigInteger temp = f[j-i].multiply(f[i-1]);
f[j] = f[j].add(temp);
}
}
while(cin.hasNext())
{
int n = cin.nextInt();
System.out.println(f[n]);
}
}
}