一些常用数据结构的数组实现 不定期更新
来源:互联网 发布:电动汽车环保贡献数据 编辑:程序博客网 时间:2024/06/02 05:29
循环队列:
题目链接:cf 792B
分析:这个题就是约瑟夫环的变形,考虑到n比较小,可以用队列模拟。
code:
#include<cstdio>
const int MAXN=100+5;
int Q[MAXN];
int a[MAXN];
int main(void){
int n,k;scanf("%d%d",&n,&k);
for(int i=0;i<k;++i)
scanf("%d",a+i);
int head=0,tail=n;//head指向队头,tail指向队尾的后一个元素
for(int i=0;i<n;++i)
Q[i]=i;//为了方便,人的编号从0开始
int j=0,r=n;
while(head!=tail){
int mod=a[j++]%r;//mod r是为了减少模拟次数,如果a[i]=1e9,不然难道真要模拟1e9次吗?
r--;// the number of remain people
for(int i=0;i<mod;++i){
Q[tail++]=Q[head];if(tail>=MAXN)tail=0;将队首放在队尾
head++;if(head>=MAXN)head=0;
}
printf(j==k?"%d\n":"%d ",Q[head++]+1);//出队
if(head>=MAXN)head=0;
if(j==k)break;
}
}
- 一些常用数据结构的数组实现 不定期更新
- java常用数据结构的转换,不定期更新
- 一些常用的工具类(不定期更新)
- 整理一些常用方法,不定期更新。。。
- java的一些总结(不定期更新)
- ADB 的一些命令,不定期更新
- 收集一些有用的网站(不定期更新)
- 【不定期更新】一些简单的Rust程序
- 本人搜集的一些常用的SQL查询语句(不定期更新)
- linux一些细节,不定期更新
- 不定期更新的一些Java小的知识点
- 【不定期更新】常用下载资源整合
- kafka常用操作(不定期更新)
- 常用正则表达式,不定期更新
- VC用的一些小片段(不定期更新)
- unity 相关的一些小tips (不定期更新)
- ios开发一些有用的链接(不定期更新)
- 学习JSP时遇到的一些问题,不定期更新
- Socket编程(二)随时接收客户端消息及多客户端连接
- 第九章 JAVA中的继承
- 对象存储Amazon S3的诞生
- 动态规划专题之----198. House Robber
- 第十章 JAVA多态初步学习
- 一些常用数据结构的数组实现 不定期更新
- maven 学习笔记(一)安装
- OpenStack Swift发展历程
- 第十一章 JAVA异常与异常处理
- Linux Netcat 命令——网络工具中的瑞士军刀
- RCNN学习笔记(00)简介
- 第十二章 JAVA中的字符串及常用方法
- hibernate:many to one
- POJ 1003 hangover