博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
-UVa10935题:Trowing cards away1解答及简单分析
阅读量:4616 次
发布时间:2019-06-09

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

                       Trowing cards away

原题题意:

    有n张牌,从第一张牌(位于最上面head的牌)开始,从上往下一次编号为1到n.当至少还剩两张牌的时候进行以下操作:将第一张牌扔掉,然后将新的第一张牌放到整叠牌的最后(变为tail)。   输如每行包含一个n,输出每次扔掉的牌及最后剩下的牌。要求:n<=50

题意分析及程序简析

     定义一个至少2n-1大小的数组, 为避免出错可将数组空间稍微开大点。设置一个变量head和tail下标记录输入数组的第一个和最后一个数据,每次将其往后移一个位置指向后一个数组元素。

案列输出如下:

intput:

7

output:

Discarded Cards:1,3,5,7,4,2

Remaining Cards:6

 

 

程序代码如下:

1 #include 
2 #include
3 using namespace std; 4 5 int a[1000]; 6 7 int main() 8 { 9 int n;10 while (cin >> n && n) 11 {12 for (int i = 0; i <= n; ++ i)13 a[i] = i;14 15 int head = 1,tail = n, flag = 1;16 printf("Discarded cards:");17 while (head < tail) 18 {19 if (!flag)20 printf(",");21 printf(" %d",a[head ++]);22 a[++ tail] = a[head ++];23 flag = 0;24 }25 printf("\nRemaining card: %d\n",a[head]);26 }27 return 0;28 }

 

转载于:https://www.cnblogs.com/x512149882/p/4653644.html

你可能感兴趣的文章
netty与MQ使用心得
查看>>
关于dl dt dd 文字过长换行在移动端显示对齐的探讨总结
查看>>
swoolefy PHP的异步、并行、高性能网络通信引擎内置了Http/WebSocket服务器端/客户端...
查看>>
Python学习笔记
查看>>
unshift()与shift()
查看>>
使用 NPOI 、aspose实现execl模板公式计算
查看>>
行为型模式:中介者模式
查看>>
How to Notify Command to evaluate in mvvmlight
查看>>
33. Search in Rotated Sorted Array
查看>>
461. Hamming Distance
查看>>
Python垃圾回收机制详解
查看>>
个人介绍
查看>>
mui搜索框 搜索点击事件
查看>>
最简单的三层实例【插入据
查看>>
设计模式学习笔记——Prototype原型模式
查看>>
pom.xml里有红叉报错的解决办法
查看>>
Perl last和next的用法区别
查看>>
Selenium 管理 Cookies
查看>>
exceptionfunction[LeetCode]Permutations
查看>>
bzoj 4595 激光发生器
查看>>