1002. 射击游戏1
2017-09-13 21:52
225 查看
Time Limit: 1sec MemoryLimit:256MB Description 小明很喜欢玩射击游戏。他刚考完了数据结构期末考试,感觉不错,于是又来到了射击娱乐场放松一下。和上次一样,先从老板那租了一把步枪和装有N发子弹的弹夹。这里,再把规则说一遍。在射击的过程中,小明每次都有两种选择:从弹夹中取出一颗子弹上膛,或者打一发子弹出去。注意:所有的子弹都从枪口上膛。小明感觉这有点像《数据结构》课程中的“栈”的特点。因此在打完了这N发子弹之后,他想验证一下这些子弹打出来的顺序是不是真的满足“栈”的特性。假设N颗子弹的编号为1,2,…,N。子弹从弹夹中取出的顺序也是从1到N,这里N = 10。给定一个子弹被打出的顺序,你可以帮小明验证它满不满足“栈”的打出顺序吗? Input 可能有多个测试输入,第一行给出总共的测试输入的个数。 每个测试输入只有一行:用空格隔开的十个数,表示子弹打出的编号顺序。 Output 对每个测试输入,输出只有一行: “Yes”,如果打出顺序满足“栈”的特点; “No”,如果打出顺序不满足“栈”的特点。 Sample Input Copy sample input to clipboard 3 1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1 3 1 2 4 5 6 7 8 9 10 Sample Output Yes Yes No | ||
标准做法应该是用stack来做,但是由于标好了只有十颗子弹,所以想到用数组做比较熟悉#include<iostream> using namespace std; int main() { int sta[11]={0}; int num,temp,rem=0,flag=0; cin>>num; for(int i=0;i<num;i++) { for(int j=0;j<10;j++) { cin>>temp; sta[temp]=1; if(j>=1&&temp<rem-1) { for(int k=temp+1;k<rem;k++) { if(sta[k]==0) { flag=1; break; } } } rem=temp; } if(flag==1)cout<<"No"<<endl; else cout<<"Yes"<<endl; for(int l=0;l<10;l++) sta[l]=0; flag=0; } } 其中(for(int k=temp+1;k<rem;k++)这里犹豫要不要用rem-1,最后还是没用 AC过后试着交了rem-1发现是失败的 对于循环自己还是不够熟悉 除此以外一开始一直WA 自己也没弄懂,毕竟按照stander input是没问题的 到了后来才发现自己忘记了重置flag导致前面如果出现了No以后的全是No | ||
相关文章推荐
- unity3d 第一人称射击游戏 Demo
- ios实现一个射击游戏,逻辑分析与对象的提取
- [U3D Demo] 手机FPS射击游戏
- SOJ【栈】射击游戏(递推思想)
- UE4第三人称射击游戏总结三
- unity射击游戏:超萌射手(2)射击特效和EasyButton使用
- 如何用cocos2d-x来开发简单的Uphone游戏:(三) 射击子弹 & 碰撞检测
- 非常强大的射击动作游戏iOS源码
- cocos2dx - 制作纵版射击游戏:喵星战争 (四)
- Unity3D--学习太空射击游戏制作(二)
- unity射击游戏:超萌射手(2)射击特效和EasyButton使用
- 简单有趣的HTML5飞机射击游戏源码
- Javascript版飞行射击游戏《天机》1.0正式版发布(附源代码)[2010-03-13更新链接]
- 如何用CONSTRUCT 2制作简单的射击游戏
- 射击游戏中跟踪弹及小角度移动的开发
- unity5下的第一人称射击游戏--僵尸大战(一)
- cocos2d-x 3.4 横板射击游戏之地图滚动实现(封装方式)
- 我的Unity 3D之旅——第一人称射击游戏(6)
- Cocos2d-x制作太空射击游戏
- ios射击类游戏简单代码射击