您的位置:首页 > 其它

POJ 3629 队列模拟

2016-10-17 10:02 405 查看

听说STL会卡T
然后我就试了一发

哈哈哈哈哈哈哈哈哈哈 1000ms卡时过的

这很值得我写一发题解了 哈哈哈哈哈哈哈哈哈哈哈哈

//By SiriusRen
#include <queue>
#include <cstdio>
#include <algorithm>
using namespace std;
int n,k,mod,rnd,p,ans[1000050],top;
queue<int>q;
int main(){
scanf("%d%d%d",&mod,&k,&p),n=mod-1;
for(int i=1;i<=k;i++)q.push(i);
while(1){
if(rnd==n)rnd=0,ans[++top]=q.front();
else rnd++;
q.pop();
if(q.empty())break;
for(int i=1;i<=p;i++){
int t=q.front();q.pop();
q.push(t);
}
}
sort(ans+1,ans+1+top);
for(int i=1;i<=top;i++)
printf("%d\n",ans[i]);
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: