藍橋杯—校內模擬賽(規律序列)

藍橋杯—校內模擬賽(規律序列)

問題描述:

  小明想知道,知足如下條件的正整數序列的數量:java

  1. 第一項爲 n;數組

  2. 第二項不超過 n;測試

  3. 從第三項開始,每一項小於前兩項的差的絕對值。spa

  請計算,對於給定的 n,有多少種知足條件的序列。code

輸入格式:

  輸入一行包含一個整數 n。對象

輸出格式:

  輸出一個整數,表示答案。答案可能很大,請輸出答案除以10000的餘數。blog

樣例輸入:

  4遞歸

樣例輸出:

  7class

樣例說明:

如下是知足條件的序列:
  4 1
  4 1 1
  4 1 2
  4 2
  4 2 1
  4 3
  4 4import

評測用例規模與約定:

  對於 20% 的評測用例,1 <= n <= 5;
  對於 50% 的評測用例,1 <= n <= 10;
  對於 80% 的評測用例,1 <= n <= 100;
  對於全部評測用例,1 <= n <= 1000。

思路:

  ① 研究對象始終都是隻有三項,因此用大小爲3的數組用來存放研究的三個對象。——序列長度未知,因此考慮遞歸的思想。

  ② 第一項、第二項的肯定規則和第三項和後面的肯定規則不一樣,觀察得出,長度只有2的序列只有n(輸入的第一項n)個。

注:

因爲不知道具體測試用例數據,因此本人也沒法肯定答案是否徹底正確。本身手動算出1——5的數據輸入,測試出答案正確。

可是根據題目給出的評測用例規模和約定。

當輸入數據較大時,本答案會超時。

若是有大神作出完美答案,拜託評論留下。

 1 import java.util.Scanner;
 2 
 3 public class Main{
 4     static int n,out;
 5     public static void main(String[] args) {
 6         Scanner scan = new Scanner(System.in);
 7         n = scan.nextInt();
 8         out = 0;
 9         int[] arr = new int[3];                //arr用於存放一直變化的長度爲3的序列研究對象
10         arr[0] = n;
11         for(int i = 1; i <= n; i++) {
12             arr[1] = i;
13             f(arr[0], arr[1]);
14         }
15         System.out.println((out+n)%10000);        //加上的n是,序列長度爲2的全部序列數量。
16         scan.close();
17         }
18     private static void f(int arr0, int arr1) {
19         // TODO Auto-generated method stub
20         for(int i = 1; i <= n; i++) {
21             if(i < cha(arr0,arr1)) {
22                 int arr2= i;
23                 f(arr1,arr2);
24                 out++; 
25             }
26         }
27     }
28     private static int cha(int i, int j) {    //返回絕對值
29         // TODO Auto-generated method stub
30         if(i>j) return i-j;
31         else return j-i;
32     }
33 }

 _____________________

輸入:3    輸出:4  

知足條件的序列:       

3 1          

3 1 1        

3 2          

3 3          

———————————

輸入:5    輸出:14

知足條件的序列:       

5 1

5 1 1

5 1 5

5 1 3

5 1 3 1

5 1 3 1 1

5 2

5 2 1

5 2 2

5 3

5 3 1

5 3 1 1

5 4

5 5          

———————————

相關文章
相關標籤/搜索