返回列表 發帖
  1. #include <bits/stdc++.h>
  2. using namespace std;

  3. long long int DP[20017]={0};
  4. long long int compute(int a)
  5. {
  6.     if(a==1)
  7.         return DP[1] = 1;
  8.     if(a==2)
  9.         return DP[2] = 2;
  10.     if(DP[a])
  11.         return DP[a];
  12.     else
  13.         return DP[a]=(compute(a-2)+compute(a-1))%10007;
  14. }
  15. int main()
  16. {
  17.     int n;
  18.     while(cin>>n)
  19.     {
  20.         n=n%20016;
  21.         cout<<compute(n)<<endl;
  22.     }
  23.     return 0;
  24. }#include <bits/stdc++.h>
  25. using namespace std;

  26. long long int DP[20017]={0};
  27. long long int compute(int a)
  28. {
  29.     if(a==1)
  30.         return DP[1] = 1;
  31.     if(a==2)
  32.         return DP[2] = 2;
  33.     if(DP[a])
  34.         return DP[a];
  35.     else
  36.         return DP[a]=(compute(a-2)+compute(a-1))%10007;
  37. }
  38. int main()
  39. {
  40.     int n;
  41.     while(cin>>n)
  42.     {
  43.         n=n%20016;
  44.         cout<<compute(n)<<endl;
  45.     }
  46.     return 0;
  47. }
複製代碼

TOP

返回列表