主页
搜索
最近更新
数据统计
申请密钥
系统公告
1
/
1
请查看完所有公告
CF83B 题解
最后更新于 2025-07-31 11:33:05
作者
XXh0919
分类
题解
题解
CF83B
复制 Markdown
查看原文
删除文章
更新内容
纯属队列训练题 这题其实说的很明白,就是让你在 $n$ 个数里拿出第一个数,若这个数减 $1$ 不为零就将其放到队尾,否则将其弹出去,在 $k$ 次操作后输出剩下所有数的编号,若操作次数大于 $k$ 次,则输出 $-1$。 ### 你们最爱的代码: ```cpp #include<bits/stdc++.h> using namespace std; long long n,k,x,s; queue<long long>que; queue<long long>hao; int main() { cin>>n>>k; for(int i=1;i<=n;++i) { cin>>x; que.push(x);//输入 hao.push(i);//编号 } for(int i=1;i<=k;++i) { if(que.empty())//若队列为空 { cout<<-1<<endl;//直接带走 return 0; } x=que.front(),s=hao.front(); que.pop(),hao.pop();//先让第一个数“退休” if(x-1>0)//若还没有到退休的时候(打个比方) que.push(x),hao.push(s);//快点回来上班儿 } while(!hao.empty())//输出 { cout<<hao.front()<<' '; hao.pop(); } return 0; } ``` 管理员求过!!!!!!!
正在渲染内容...
点赞
1
收藏
0