2016百度之星资格赛——B

来源:互联网 发布:西安504所硕士待遇知乎 编辑:程序博客网 时间:2024/06/03 17:22

Problem B

Accepts: 2515
Submissions: 9216
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
Problem Description

度熊面前有一个全是由1构成的字符串,被称为全1序列。你可以合并任意相邻的两个1,从而形成一个新的序列。对于给定的一个全1序列,请计算根据以上方法,可以构成多少种不同的序列。

Input

这里包括多组测试数据,每组测试数据包含一个正整数NNN,代表全1序列的长度。

1≤N≤2001\leq N \leq 2001N200

Output

对于每组测试数据,输出一个整数,代表由题目中所给定的全1序列所能形成的新序列的数量。

Sample Input
135
Sample Output
138
Hint
如果序列是:(111)。可以构造出如下三个新序列:(111), (21), (12)。Showing code:
import java.math.*; import java.util.*;public class Main{    public static void main(String[] args)      {        BigInteger num[] = new BigInteger[230];                num[0] = BigInteger.valueOf(0);        num[1] = BigInteger.valueOf(1);        num[2] = BigInteger.valueOf(2);        for (int i=3; i<230; i++)        {            num[i] = num[i-1].add(num[i-2]);        }        Scanner n = new Scanner(System.in);                int b;        while (n.hasNextInt())        {            b = n.nextInt();            System.out.println(num[b]);        }    }} 
第一次有JAVA打比赛,哦呵呵,感觉好新鲜呀,此题是斐波那契数列,好题~
 
0 0