点击这里更换您喜欢的皮肤wtboj 首页
请点击这里登入noios   首页 入门 c++讲义 入门教程视频 金牌教程 入门视频 站务 公告 | 题库 记录 竞测 测试 闯关 作业 排名 团队 讨论 | 换肤 | 登入 注册  
News >>   新增功能:各团队管理员可以发布本团队作业了 ()

From sina007
教主的集合序列
描述 Description
    定义集合S1为1到n之间所有正整数组成的集合,即S1={1,2,3…n}。当k>1时,Sk为集合Sk-1中任意两个不相同数之和的集合。
  例如,当n=3时:
  S1={1,2,3}
  S2={3,4,5}
  S3={7,8,9}
  S4={15,16,17}
  ……
  现将每个集合中所有元素取出,集合Si的数放在集合Si+1的数的前面,同一个集合数从小到大排序,这样得到一个序列L。例如,当n=3时,L=1,2,3,3,4,5,7,8,9,15,16,17……
  那么,现对于给定的n和k,求L中第k个数。
输入格式 Input Format
    输入包含1行,为2个正整数n和k,两个整数用逗号隔开。
输出格式 Output Format
    输出包含1行,为一个正整数,即序列L中第k个数。若这个数不存在,则输出-1。
样例输入 Sample Input
 
样例输出 Sample Output
 
时间限制 Time Limitation
  对于20%的数据,有k≤20;
对于40%的数据,有k≤10000,n≤5;
对于40%的数据,满足答案不超过2^31-1;
对于60%的数据,有k≤2^30-1;
对于80%的数据,有k≤10^100;
对于100%的数据,有k≤10^1000,1<n≤1000;且数据保证当n≤3时,k≤900000。

时限1s
注释 Hint
    当n=4时,序列L=1,2,3,4,3,4,5,6,7,7……
  所以序列中第6个数为4。
Flag
  
题号
  P1472
  其它
通过
  0人
提交
  0次
通过率
  0%
难度
  3
提交 讨论 题解
 Copyright wtboj © 2005-2006. www.wutuobang.date Powered by wtboj 关于 联系 帮助
 wtboj Information ---- Total Users : 1253 | Online Users / Processes : 0 / 175 | Processed Time : 62 ms | Server Time : 2025/7/1 20:03:32