Time limit  1000 ms

Memory limit  131072 kB

Little A has became fascinated with the game Dota recently, but he is not a good player. In all the modes, the rdsp Mode is popular on online, in this mode, little A always loses games if he gets strange heroes, because, the heroes are distributed randomly.

Little A wants to win the game, so he cracks the code of the rdsp mode with his talent on programming. The following description is about the rdsp mode:

There are N heroes in the game, and they all have a unique number between 1 and N. At the beginning of game, all heroes will be sorted by the number in ascending order. So, all heroes form a sequence One.

These heroes will be operated by the following stages M times:

1.Get out the heroes in odd position of sequence One to form a new sequence Two;

2.Let the remaining heroes in even position to form a new sequence Three;

3.Add the sequence Two to the back of sequence Three to form a new sequence One.

After M times' operation, the X heroes in the front of new sequence One will be chosen to be Little A's heroes. The problem for you is to tell little A the numbers of his heroes.

Input

There are several test cases.
Each case contains three integers N (1<=N<1,000,000), M (1<=M<100,000,000), X(1<=X<=20).
Proceed to the end of file.


Output

For each test case, output X integers indicate the number of heroes. There is a space between two numbers. The output of one test case occupied exactly one line.


Sample Input

5 1 2
5 2 2

Sample Output

2 4
4 3

Hint

In case two: N=5,M=2,X=2,the initial sequence One is 1,2,3,4,5.After the first operation, the sequence One
is 2,4,1,3,5. After the second operation, the sequence One is 4,3,2,1,5.So,output 4 3. 题意是每次操作都会把偶数位置的数提出放到最前面来,然后操作次数很大,求操作后的序列前几位 先看一下我傻逼一样的超时代码
 #include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std; struct node
{
int num;
int id;
}a[]; bool cmp(node b,node c)
{
return b.id<c.id;
} int main()
{
int n,m,k;
int i,j;
while(~scanf("%d%d%d",&n,&m,&k))
{
for(i=;i<=n;i++)
{
a[i].num=i;
a[i].id=i;
}
//找循环结
bool flag=true;
for(i=;i<=m;i++)
{
for(j=;j<=n;j+=)
a[j].id/=;
for(j=;j<=n;j+=)
a[j].id=(a[j].id+)/+n/;
sort(a+,a++n,cmp);
flag=true;
for(j=;j<=n;j++)
{
if(a[j].num!=j)
{
flag=false;
break;
}
}
if(flag)
break;
}
//取余
if(m!=i-)
{
m%=i;
//最后操作
for(i=;i<=n;i++)
{
a[i].num=i;
a[i].id=i;
}
for(i=;i<=m;i++)
{
for(j=;j<=n;j+=)
a[j].id/=;
for(j=;j<=n;j+=)
a[j].id=(a[j].id+)/+n/;
sort(a+,a++n,cmp);
}
printf("%d",a[].num);
for(i=;i<=k;i++)
printf(" %d",a[i].num);
printf("\n");
}
else
{
printf("%d",a[].num);
for(i=;i<=k;i++)
printf(" %d",a[i].num);
printf("\n");
}
}
return ;
}
再看一下我们女队楼主的超强代码
 #include <iostream>
#include<stdio.h>
using namespace std;
#define maxn 1000000
int n;
int ci;
int a[maxn+];
int k;
int T(int x)
{
int c=;
int cnt=;
do{
if(c*<=n)
{
c*=;
}
else
{
c=(c-n/)*-;
}
cnt++;
}while(c!=);
return cnt;
}
int main()
{
while(~scanf("%d%d%d",&n,&ci,&k))
{
ci%=T(n);
for(int i=;i<=n;i++)a[i]=i;
for(int i=;i<=k;i++)
{ for(int j=;j<=ci;j++)
{
if(a[i]*<=n)
{
a[i]=*a[i];
}
else{
a[i]=(a[i]-n/)*-;
}
}
if(i==)cout<<a[i];
else cout<<" "<<a[i];
}
cout<<endl; }
return ;
52 }

所以我是不是个傻逼。。。

是。。


NBUT 1225 NEW RDSP MODE I 2010辽宁省赛的更多相关文章

  1. NBUT 1218 You are my brother 2010辽宁省赛

    Time limit 1000 ms Memory limit 131072 kB Little A gets to know a new friend, Little B, recently. On ...

  2. NBUT 1225 NEW RDSP MODE I

    找出循环周期即可了 #include<bits/stdc++.h> using namespace std; int N,M,X; int time(int x,int y,int z) ...

  3. NBUT 1221 Intermediary 2010辽宁省赛

    Time limit 1000 ms Memory limit 131072 kB It is widely known that any two strangers can get to know ...

  4. NBUT 1224 Happiness Hotel 2010辽宁省赛

    Time limit 1000 ms Memory limit 131072 kB The life of Little A is good, and, he managed to get enoug ...

  5. NBUT 1222 English Game 2010辽宁省赛

    Time limit 1000 ms Memory limit 131072 kB This English game is a simple English words connection gam ...

  6. NBUT 1220 SPY 2010辽宁省赛

    Time limit  1000 ms Memory limit  131072 kB The National Intelligence Council of X Nation receives a ...

  7. NBUT 1219 Time 2010辽宁省赛

    Time limit   1000 ms Memory limit   131072 kB Digital clock use 4 digits to express time, each digit ...

  8. NBUT 1223 Friends number 2010辽宁省赛

    Time limit  1000 ms Memory limit   131072 kB Paula and Tai are couple. There are many stories betwee ...

  9. NBUT 1217 Dinner 2010辽宁省赛

    Time limit  1000 ms Memory limit  32768 kB Little A is one member of ACM team. He had just won the g ...

随机推荐

  1. Android本地广播

    Android中使用的广播一般是系统全局广播,即发出的广播可以被其他任何应用程序接收到,并且我们也可以接收来自于其他任何应用程序的广播.这样就很容易会引起安全性的问题,比如说我们发送的一些携带关键性数 ...

  2. 51nod 1232 完美数 数位dp

    1232 完美数 题目来源: 胡仁东 基准时间限制:2 秒 空间限制:131072 KB  如果一个数能够被组成它的各个非0数字整除,则称它是完美数.例如:1-9都是完美数,10,11,12,101都 ...

  3. Jmeter 之 ServerAgent 在性能测试的时候通过插件监听数据库状态

    https://jmeter-plugins.org/downloads/old/ 下载几个jar包,导入到Jmeter对应到目录下/lib/ext文件夹下,注意只支持Jmeter3.2(不含)以下版 ...

  4. eclipse安装adt插件后工具栏不显示android相关图标

    到eclipse官网下载luna(开发android,推荐此版本,当前最新版4.4.2)版本的eclipse http://ftp.jaist.ac.jp/pub/eclipse/technology ...

  5. Linux crontab定时执行任务 命令格式与详细例子(转)

    基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示 第2列表示小时1-23(0表示0点) 第3列表示日期1-31 第4列表示 ...

  6. 20170727xlVBA根据数据表和模板工作簿生成个人明细表工作簿

    Sub CreateTables() Dim Wb As Workbook Dim OpenWb As Workbook Dim Sht As Worksheet Dim Rng As Range D ...

  7. 『OpenCV3』简单图片处理

    cv2和numpy深度契合,其图片读入后就是numpy.array,只不过dtype比较不常用而已,支持全部数组方法 数组既图片 import numpy as np import cv2 img = ...

  8. secureCRT启动xmanager图形化工具

    secureCRT启动xmanager图形化工具 2014年9月17日 11:42 secureCRT是我们在维护UNIX或者linux的重要工具.xmanager 工具是连接UNIX或者linux的 ...

  9. juqery的一些简单用法

    层级选择器(重点).基本过滤选择器 :eq(index) 选择匹配到的元素中索引号为index的一个元素,index从0开始 :odd 选择匹配到的元素中索引号为奇数的所有元素,index从0开始 : ...

  10. BUCTOJ1073

    #include "iostream" #include "algorithm" using namespace std; ; struct Time { in ...