2016 百度之星 B题(java实现)
生活随笔
收集整理的這篇文章主要介紹了
2016 百度之星 B题(java实现)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Problem B
? ? ?Time Limit: 2000/1000 MS (Java/Others) ? ?Memory Limit: 65536/65536 K (Java/Others) Problem Description度熊面前有一個全是由1構成的字符串,被稱為全1序列。你可以合并任意相鄰的兩個1,從而形成一個新的序列。對于給定的一個全1序列,請計算根據以上方法,可以構成多少種不同的序列。
Input這里包括多組測試數據,每組測試數據包含一個正整數NN,代表全1序列的長度。
1\leq N \leq 2001≤N≤200
Output對于每組測試數據,輸出一個整數,代表由題目中所給定的全1序列所能形成的新序列的數量。
Sample Input 1 3 5 Sample Output 1 3 8Hint 如果序列是:(111)。可以構造出如下三個新序列:(111), (21), (12)import java.math.BigDecimal;
import java.util.Scanner;
public class Main{
private static BigDecimal[] bigs;
private static int num;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
?while(scanner.hasNext()){ ?
?num = scanner.nextInt(); ? ?
?bigs = new BigDecimal[num + 2]; ?
?bigs[0] = new BigDecimal("1");
?bigs[1] = new BigDecimal("2"); ?
?for(int i = 2 ;i < num; i++){
bigs[i] = bigs[i - 1].add(bigs[i - 2]);
} ?
System.out.println(bigs[num - 1]);
?} ??
}
}
總結
以上是生活随笔為你收集整理的2016 百度之星 B题(java实现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2015年百度之星程序设计大赛 - 资格
- 下一篇: 光影魔术手快速批量压缩图片