#P0602. 循环删除
循环删除
题目描述
有一排 个数据(编号 到 ),不断循环执行以下删除操作,直到剩余数据个数 :
- 从当前数据中,删除所有位置为奇数的数据(从 开始计数),然后重新顺序拼凑在一起。
- 如果剩余数据仍 ,再删除所有位置为偶数的数据,然后重新顺序拼凑在一起。
如此交替进行。
请编写程序,输入 和 ,输出最后剩下的数据的初始编号(顺序输出)。
输入格式
第一行一个整数 ,表示有 组数据。
接下来 行,每行两个正整数 和 。
输出格式
共有 行,每行输出剩下的数据的初始编号。
样例
3
10 3
20 4
5000 5
2 6 10
6 14
342 1366 2390 3414 4438
样例解释
对于第 组数据:
初始时,队列中有 ,删除所有位置为奇数的数,剩下 。
接下来,队列中有 ,删除所有位置为偶数的数,剩下 。
数据范围
对于 的数据,保证 ,,。