习题5-3 UVA 10935 Throwing cards away I 卡片游戏
来源:互联网 发布:北大青鸟软件学校 编辑:程序博客网 时间:2024/05/30 04:30
很简单的一道题目,无论是原文还是紫书上的讲的非常清楚!因为刚做了Vector类的例题,所以找了一个简单的Vector习题练练!
整体思路就是根据原文描述进行!
用到的Vector里的函数:
.insert(),在指定位置插入某一个数
.pop_back(),删掉数组最后一个数
.push_back(),在数组最后插入一个数
.clear(),清空Vector相当于数组的初始化!(因为是连续输入多组数据嘛!)
虽然很简单,但仍人错了一次!
教训:
考虑要全面,看清题目中给出的数据范围:n <= 50,忘了考虑n = 1的情况了!
#include<vector>#include<iostream>using namespace std;vector<int>num;int print(int n){ int sum = num.size(); while(n-- && n!= 1){ num.pop_back(); sum = num.size(); num.insert(num.begin(),num[sum - 1]); num.pop_back(); cout << ", " << num[sum - 1]; } cout << "\n" ; return num[0];}int main(){ int n; while(cin >> n && n){ if (n == 1){ cout << "Discarded cards:\nRemaining card: 1\n"; continue; } num.clear(); for (int i = n; i >= 1; --i)num.push_back(i); cout << "Discarded cards: 1"; int rev = print(n); cout << "Remaining card: " << rev << "\n"; } return 0;}
0 0
- 习题5-3 UVA 10935 Throwing cards away I 卡片游戏
- 习题5-3 卡片游戏(Throwing cards away I, UVa 10935)
- 卡片游戏(Throwing cards away I,UVa 10935)
- UVA 10935 Throwing Cards Away I 卡片游戏
- UVa 10935 Throwing cards away I(习题5-3)
- 算法竞赛入门经典 第二版 习题5-3 卡片游戏 Throwing cards away I uva10935
- 卡片游戏(Throwing cards away I)
- 卡片游戏(Throwing cards away I)
- uva 10935 Throwing cards away I 习题5-3 (STL queue练习)
- Throwing cards away I 卡牌游戏 UVA 10935
- Uva10935 Throwing cards away I 【queue】【习题5-3】
- UVa10935-Throwing cards away I-卡片游戏-队列的运用
- 经典第五章 习题 5-3 UVA 10935 Throwing cards away I(队列的简单应用)
- UVA 10935 - Throwing cards away I
- UVA 10935 - Throwing cards away I
- UVa 10935 - Throwing cards away I STL
- uva 10935 - Throwing cards away I
- UVa 10935 Throwing cards away I
- angularjs中$http、$location、$watch及双向数据绑定学习实现简单登陆验证
- DownloadManager下载管理的介绍
- 为什么需要maven
- 多线程
- 蓝桥杯 A+B问题
- 习题5-3 UVA 10935 Throwing cards away I 卡片游戏
- git学习总结
- GTK+重拾--07 GTK+中的事件
- 简美自动化之机器视觉光源
- Mac下的包管理Homebrew使用
- tcl/tk参考——系统相关glob
- HDOJ--2006
- Unity5中灯光烘焙(lightmap)的一些注意事项
- 原理分析之二:架构分析