博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
扑克游戏
阅读量:6149 次
发布时间:2019-06-21

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

 

一.扑克游戏

【问题描述】

桌上有一叠牌,从第一张牌(即位于顶面的牌)开始从上往下依次编号为1~n;当至少还剩两张牌时进行以下操作:把第一张牌扔掉,然后把新的第一张放到整叠牌的最后。当剩下最后一张时也扔掉。

输入n,输出每次扔掉的牌。

【输入】

输入文件名为kard.in。

输入共一行,一个正整数n,表示牌的张数。

【输出】

输出文件名为kard.out。

输出共一行,依次是扔掉牌的编号。

【输入输出样例】

kard.in

kard.out

7

1 3 5 7 4 2 6

【数据范围】

100%的数据:n<=54.

 

我们一起来看看没学过队列,只学到函数的学生是如何完成的:

2017级

1.lhc版、zh版

其实是队列的思路:

用了变量i n分别表示队首指针和队尾指针。模拟了出队和入队。当队列中有大于等于2个元素时一直模拟。只有一个元素时,直接输出。

#include
#include
using namespace std;int n;int a[110];int main(){ freopen("kard.in","r",stdin); freopen("kard.out","w",stdout); cin>>n; for(int i=1;i<=n;i++) a[i]=i; for(int i=1;i<=n;i++) { if(n-i>=1) { cout<
<<" "; i++; n++; a[n]=a[i]; } if(i==n) { cout<

 

2.wzr  (用一个数组进行模拟,x记录当前需要处理那一对数,x+n是当前后移的数应该存放的位置。)

#include
#include
#include
#include
#include
using namespace std;int n,t;int a[1000100];int main(){ freopen("kard.in","r",stdin); freopen("kard.out","w",stdout); cin>>n; t=n; for(int i=1;i<=n;i++) a[i]=i; int x=1; while(t>2){ cout<
<<" "; a[x+t]=a[x+1]; t--; x+=2; } if(t==2) cout<
<<" "<

3.ljx版

找规律:n个数,每次都是扔掉奇数位置的数,偶数位置的数后移。

每个数只有处于奇数位置时才会被输出,共有n个数,则最后一个数所在的位置为2*n-1,也就是说,在模拟时n个数需要占用2n-1个元素空间。

1 #include
2 #include
3 using namespace std; 4 int main(){ 5 freopen("kard.in","r",stdin); 6 freopen("kard.out","w",stdout); 7 int b[1001],n; 8 cin>>n; 9 for(int i=1;i<=n;i++)10 b[i]=i;11 for(int i=1;i<=2*n;i++){12 if(i%2==1)13 cout<
<<" ";14 else b[n+i/2]=b[i];15 16 }17 return 0;18 }

 4.dlt版(思路同3)

#include
#include
using namespace std;int a[200];int main(){ freopen("kard.in","r",stdin); freopen("kard.out","w",stdout); int n,k,d; cin>>n; k=n+1; for(int i=1;i<=n;i++){ a[i]=i; //cout<

 

转载于:https://www.cnblogs.com/ssfzmfy/p/7691507.html

你可能感兴趣的文章
centos 下安装g++
查看>>
嵌入式,代码调试----GDB扫盲
查看>>
类斐波那契数列的奇妙性质
查看>>
配置设置[Django]引入模版之后报错Requested setting TEMPLATE_DEBUG, but settings are not configured....
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
Wait Functions
查看>>
代码描述10313 - Pay the Price
查看>>
jQuery最佳实践
查看>>
centos64i386下apache 403没有权限访问。
查看>>
vb sendmessage 详解1
查看>>
jquery用法大全
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
网卡驱动程序之框架(一)
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>