UVa 10935 Throwing cards away I【队列】
2024-08-24 16:24:16
题意:给出 n张牌,从上往下编号依次为1到n,当牌的数目至少还剩下2张时,把第一张牌扔掉,然后把新的一张牌放在牌堆的最底部,问最后剩下的那一张牌是哪一张牌。
模拟队列的操作-------
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<queue>
using namespace std; queue<int>q; int main()
{
int i,j,n,ans,a,b;
while(scanf("%d",&n)!=EOF&&n)
{
while(!q.empty()) q.pop();
for(i=;i<=n;i++)
q.push(i);
printf("Discarded cards:");
while(q.size()!=)
{
b=q.front();q.pop();
if(q.size()!=) printf(" %d,",b);
else printf(" %d",b);
a=q.front();q.pop();
q.push(a);
}
printf("\n");
printf("Remaining card: %d\n",q.front());
}
}
最新文章
- Oracle数据行拆分多行
- Odoo PDF 取消Header后 空白处理
- C++引用详解
- SQL 之witn as语法
- sublime快捷键-for mac
- delphi 立即显示提示
- 将传统项目改造为SSM框架的项目
- border-sizing属性
- [Swift]LeetCode75. 颜色分类 | Sort Colors
- 反转链表II(根据指定的索引,逆转链表)
- 如何运行后台Service?
- 根据不同访问设备跳转到PC页面或手机页面
- sql 保留2位小数/换行
- 生成缓存文件cache file
- jq动画分析1
- mysqldump: Error 2013
- Canvas事件绑定
- CIO需加强对战略管理层面的掌控-精华篇
- AdaBoost Classifier和Regressor
- [C++ Primer] : 第12章: 动态内存