uva_127,栈以及vector的应用
2014-09-02 14:12
232 查看
参考自http://www.cnblogs.com/maqiang/archive/2012/05/02/2479760.html
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <stack> #include <vector> using namespace std; struct st { char ch[3]; }; bool judge(st c,st d) { if(c.ch[0]==d.ch[0]||c.ch[1]==d.ch[1]) return true; return false; } int main() { vector<stack<st> >piles; st s1; int cur=0; while(cin>>s1.ch) { if(s1.ch[0]=='#') break; cur++; stack<st>s; s.push(s1); piles.push_back(s); if(cur==52) { int n=52; while(true) { int i; for(i=1;i!=piles.size();i++) { if(i>2&&judge(piles[i].top(),piles[i-3].top())) { piles[i-3].push(piles[i].top()); piles[i].pop(); break; } if(i>0&&judge(piles[i].top(),piles[i-1].top())) { piles[i-1].push(piles[i].top()); piles[i].pop(); break; } } if(i==piles.size()) break; else if(piles[i].empty()) { piles.erase(piles.begin()+i); } } n=piles.size(); if(n==1) cout<<n<<" pile remaining: "; else cout<<n<<" piles remaining: "; cout<<piles[0].size(); for(int i=1;i<n;i++) cout<<" "<<piles[i].size(); cout<<endl; piles.clear(); cur=0; } } return 0; }
相关文章推荐
- uva_127,栈以及vector的应用
- uva_127,栈以及vector的应用
- UVA 11991 STL中map、vector的应用
- uva 101 例题5-2 vector以及string的简单用法
- hash应用以及vector的使用简介:POJ 3349 Snowflake Snow Snowflakes
- java大数类操作以及应用(UVA)
- 【STL】 poj1208&&UVa101 The Blocks Problem (不定长数组vector的应用)
- Uva1594 Ducci Sequence 【set,vector应用】【习题5-2】
- Uva1593 Alignment of Code 【vector,stream应用】【习题5-1】
- UVA12096 the SetStack Computer(STL中,map,set,vector,stack联合应用)
- 100道动态规划——9 UVA 10723 Cyborg Genes LCS的应用以及有趣的题干
- typedef 以及vector的应用
- hash应用以及vector的使用简介:POJ 3349 Snowflake Snow Snowflakes
- 经典第五章例5.2 UVA 101 The Blocks Problem(vector的基础应用)
- 机器学习笔记八 - SVM(Support Vector Machine,支持向量机)的剩余部分。即核技法、软间隔分类器、对SVM求解的序列最小化算法以及SVM的一些应用
- 发布独立的POWERBUILDER应用所需要的驱动程序以及相关设置-老东东,现在还在用pb的新程序员一定不太多了吧,回想当年的pfc。。。。。
- 如 何 组 织 系 统------------jmx以及SOA在企业应用中的应用
- Vector在Java编程中的应用[转]
- 第9章 XML存储结构以及整合ASP的应用
- 什么是正则表达式以及在Java1.4中的应用