码迷,mamicode.com
首页 > 其他好文 > 详细

Binary Lexicographic Sequence URAL - 1081 (有关数的排列)

时间:2018-03-25 18:19:44      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:names   namespace   void   class   const   color   for   ring   map   

  

 1 #include<iostream>
 2 #include<vector>
 3 #include<algorithm>
 4 #include<map>
 5 #include<set>
 6 #include<string>
 7 using namespace std;
 8 typedef unsigned long long LL;
 9 const int maxn = 46;
10 LL dp[maxn][2];
11 
12 void init()
13 {
14     dp[1][0] = dp[1][1] = 1;
15     for (int i = 2; i < maxn; i++) {
16         dp[i][0] = dp[i - 1][0] + dp[i - 1][1];
17         dp[i][1] = dp[i - 1][0];
18     }
19 }
20 
21 void solve(int n, int k)
22 {
23     if (k > dp[n][0] + dp[n][1]) { //若k大于所有可能排列数
24         cout << "-1" << endl;
25         return ;
26     }
27     vector<char> ans;
28     for (int i = n; i >= 1; i--) { //
29         if (dp[i][0] >= k) cout << "0";
30         else {
31             k -= dp[i][0];
32             cout << "1";
33         }
34     }
35     cout << endl;
36 }
37 
38 int main()
39 {
40     init();
41     int n, k;
42     while (cin >> n >> k)
43         solve(n, k);
44 }

 

Binary Lexicographic Sequence URAL - 1081 (有关数的排列)

标签:names   namespace   void   class   const   color   for   ring   map   

原文地址:https://www.cnblogs.com/tcctw/p/8645364.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!