Catalan Square
https://vjudge.net/problem/Gym-100502C
AC代码:
1 import java.util.*;//Scanner 2 import java.lang.*; 3 import java.io.*; 4 import java.math.*; 5 6 public class H{ 7 public static void main (String[] args) throws java.lang.Exception{ 8 Scanner read=new Scanner(System.in); 9 BigInteger[] a=new BigInteger[5050]; 10 a[0]=new BigInteger("1"); 11 int n=read.nextInt(); 12 for(int i=1;i<=n+1;i++) 13 //a[i]=(a[i-1].multiply(BigInteger.parselnt(4*i-2))).divide(BigInteger.parselnt(i+1)); 14 a[i]=(a[i-1].multiply(BigInteger.valueOf(4*i-2))).divide(BigInteger.valueOf(i+1)); 15 System.out.println(a[n+1]); 16 } 17 }
针对于是否需要抛异常,不抛异常也可以过,还是写一下抛异常吧
从键盘读入格式:
必须写: Scanner read=new Scanner(System.in); 读入数字: int n=read.nextInt(); 括号内先不写参数,是用于进制的 int n=read.nextDouble(); 读入字符串: String str=read.next();
这是我长这么大第一次用java在oj上过题,实则感人。(主要是不想学这个题目的另外一种做法了,偷下懒,以后再补)
待解决:
- 为什么dp用-1就可以AC但是0清空就TLE ->可能是之前的不要62、不要49的题目太水,这题后台测试数据量大
- 不明白数位dp为什么只需要清空一次,我觉得会对后面有影响啊
- java的在线编译器为什么不用谢public,写了会报错,而交到oj上去需要public,不然就报Source Code Error ->因为运行机制不一样,一般oj都是通过程序调用 不写public则只能同包调用 但一般调用程序和运行程序不在一个包下