uva 10935 Throwing cards away I
来源:互联网 发布:java list泛型 class 编辑:程序博客网 时间:2024/05/22 01:34
题目:Throwing cards away I
题意:输入整数n,表示有n张卡牌,从上到下表示为1~n。每一次丢掉最上面哒的张卡牌,再把此时点的最上面一张插到最下面。输出丢掉卡牌的顺序以及剩余的卡牌。
思路:模拟。手写链表存储。
注意:
1、当n=1时单独讨论。
2、犯了一个低级错误,结构体的构造函数没有写全。
代码:
#include<cstdio>#include<iostream>#include<string>#include<vector>#include<set>#include<map>#include<algorithm>#include<cmath>using namespace std;struct Card {bool now;int before,after;Card() {}Card(int one,bool two,int three) {before=one,now=two,after=three;}};int n;Card a[100];void init() {for(int i=1; i<=n; i++) {a[i]=Card(i-1,true,i+1);}a[1].before=-1;a[n].after=-1;}int main() {while(scanf("%d",&n)==1&&n!=0) {if(n==1) {printf("Discarded cards:\n");printf("Remaining card: 1\n");continue;}init();vector<int> Throw;for(int i=1; i<n; i++) {int Top;for(int j=1; j<=n; j++) {if(a[j].before==-1&&a[j].now==true) {Throw.push_back(j);a[j].now=false;Top=a[j].after;break;}}for(int j=1; j<=n; j++) {if(a[j].after==-1) {a[a[Top].after].before=-1;a[j].after=Top;a[Top].before=j;a[Top].after=-1;}}}printf("Discarded cards: ");for(int i=0; i<Throw.size()-1; i++) {printf("%d, ",Throw[i]);}printf("%d\n",Throw[Throw.size()-1]);int Remain;for(int i=1; i<=n; i++) {if(a[i].now==true) Remain=i;}printf("Remaining card: %d\n",Remain);}return 0;}
阅读全文
3 0
- 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
- UVA - 10935 Throwing cards away I
- Uva 10935 Throwing cards away I
- UVa 10935 - Throwing cards away I
- UVa 10935 - Throwing cards away I
- UVa 10935 - Throwing cards away I
- UVA - 10935 Throwing cards away I (数组)
- UVa 10935 - Throwing cards away I
- Uva - 10935 - Throwing cards away I
- UVa 10935 - Throwing cards away I
- UVa 10935 - Throwing cards away I
- Uva 10935 Throwing cards away I
- UVa 10935 Throwing cards away I
- uva 10935Throwing cards away I
- 5819462.html
- Object.assign() 方法用于将所有可枚举的属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
- Android_Animation
- maven构建工程
- Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED
- uva 10935 Throwing cards away I
- bzoj1691 [Usaco2007 Dec]挑剔的美食家 treap+贪心
- 创建第一个android程序遇到的问题
- 汇编语言学习小结
- Google后Hadoop时代的新“三驾马车”—Caffeine、Pregel、Dremel
- mac Finder 显示或隐藏.文件
- 面试中的二叉树题目
- Spring Boot初步使用
- 5个步骤 & 7个提示 | 一份开启Kaggle竞赛征途的初学者指南