博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 10935 - Throwing cards away I
阅读量:7101 次
发布时间:2019-06-28

本文共 1146 字,大约阅读时间需要 3 分钟。

  《算法竞赛入门经典》6.1的题目。题目大意:给n张牌,放成一叠,从上到下编号从1到n,当至少还有两张牌时,丢弃最上面的牌,然后把新的最上面的牌放到最下面,一直重复,直到只剩下一张牌,输出丢弃牌的序列。

  用队列进行模拟,不过第一次提交的时候PE了,格式说明一下:

”Discarded cards:“,然后每一数字前加一个空格,第一个数字之后的数字要在空格前加逗号。代码如下:
View Code
1 #include 
2 #include
3 #include
4 using namespace std; 5 6 const int maxn = 60; 7 queue
q; 8 9 int main()10 {11 #ifdef LOCAL12 freopen("in", "r", stdin);13 #endif14 int n;15 int ans[maxn];16 while(scanf("%d", &n) != EOF && n)17 {18 for(int i = 1; i <= n; i++) q.push(i);19 int k = 0;20 while(!q.empty())21 {22 ans[k++] = q.front();23 q.pop();24 int t = q.front();25 q.pop();26 q.push(t);27 }28 printf("Discarded cards:");29 for(int i = 0; i < n-1; i++)30 {31 if(i) printf(",");32 printf(" %d", ans[i]);33 }34 printf("\nRemaining card: %d\n", ans[n-1]);35 }36 return 0;37 }38

 

转载于:https://www.cnblogs.com/xiaobaibuhei/archive/2013/05/03/3056729.html

你可能感兴趣的文章
html图像入门
查看>>
C# Mongo Client 2.4.2创建索引
查看>>
我的第四个网页制作:列表标签
查看>>
【python进阶】详解元类及其应用2
查看>>
简单实用的菜单栏
查看>>
AMap行政区查询服务
查看>>
SpringBoot2.0源码分析(一):SpringBoot简单分析
查看>>
Java,net上的几篇文章
查看>>
Chrome的Awesome Screenshot的插件离线下载
查看>>
改变self.navigationItem的显示标题
查看>>
Revit2014机电系统类型BUG
查看>>
函数指针
查看>>
数学图形之Boy surface
查看>>
Objective-C中把数组中字典中的数据转换成URL
查看>>
mysqld: unrecognized service
查看>>
Windows环境下利用github快速配置git环境
查看>>
HTML静态页面传值,HTML静态页面得到url问号后面的参数。
查看>>
WPF学习笔记-用Expression Design制作矢量图然后导出为XAML
查看>>
[裴礼文数学分析中的典型问题与方法习题参考解答]5.1.22
查看>>
Eclipse+超快速的模拟器Genymotion开展Android申请书(第一步:安装和配置Genymotion)...
查看>>