UVA127 "Accordian" Patience 【模拟】
2017-04-16 17:32
405 查看
题目链接:https://vjudge.net/problem/UVA-127
题意:
见紫书P179 习题6-9的题目描述。
题解:
模拟题,按照题目叙述移动直到某一次没法移动为止。
P.S:注意细节,有个 n = 52 我放在了循环外面调了一下午= =b
代码:
题意:
见紫书P179 习题6-9的题目描述。
题解:
模拟题,按照题目叙述移动直到某一次没法移动为止。
P.S:注意细节,有个 n = 52 我放在了循环外面调了一下午= =b
代码:
// by DenyTianly #include <cstdio> #include <vector> #include <cstring> #include <iostream> #include <algorithm> using namespace std; typedef long long LL; const int inf = 1 << 26; struct pok { char s[105]; pok() {} pok(char *q) { strcpy(s, q); } }; int n; const int size = 1005; vector<pok> pile[size]; bool iCompare(pok a, pok b) { if(a.s[0] == b.s[ bbc3 0] || a.s[1] == b.s[1]) return true; return false; } void move(int x) { for ( int i = x; i < n; i ++ ) { pile[i].clear(); for ( int j = 0; j < pile[i+1].size(); j ++ ) { pile[i].push_back( pok(pile[i+1][j].s) ); } } } int main(){ // freopen("UVA127.in", "r", stdin); char str[105]; while( scanf("%s", str), str[0] != '#' ) { n = 52; pile[0].push_back( pok(str) ); for ( int i = 1; i < n; i ++ ) { scanf("%s", str); pile[i].push_back(pok(str)); } bool fg = true; while( fg ) { fg = false; for ( int i = 1; i < n; i ++ ) { int y = i-3; int cur = pile[i].size()-1; int cury = pile[y].size()-1; if(y >= 0 && iCompare(pile[i][cur].s, pile[y][cury].s)) { pile[y].push_back(pok(pile[i][cur].s)); pile[i].pop_back(); if(pile[i].size() == 0) { -- n; move(i); } fg = true; break; } int x = i-1; int curx = pile[x].size()-1; if(x >= 0 && iCompare(pile[i][cur].s, pile[x][curx].s)) { pile[x].push_back(pok(pile[i][cur].s)); pile[i].pop_back(); if(pile[i].size() == 0) { -- n; move(i); } fg = true; break; } } } printf("%d pile%sremaining:", n, n==1?" ":"s "); for ( int i = 0; i < n; i ++ ) printf(" %d", pile[i].size()); puts(""); for ( int i = 0; i < 52; i ++ ) pile[i].clear(); } return 0; }
相关文章推荐
- UVa 127 "Accordian" Patience (模拟链表&栈)
- ACM学习历程——UVA 127 "Accordian" Patience(栈;模拟)
- UVA-127 "Accordian" Patience (模拟)
- UVa 127 - "Accordian" Patience(模拟)
- UVA 127 - "Accordian" Patience (模拟)
- UVa 127 "Accordian" Patience (模拟链表&栈)
- UVA127- "Accordian" Patience(模拟链表)
- UVA 127 - "Accordian" Patience
- UVA 127 "Accordian" Patience
- uva 127 "Accordian" Patience --------线性表
- UVa 127: "Accordian" Patience
- Uva 127 - "Accordian" Patience
- [刷题]算法竞赛入门经典(第2版) 6-9/UVa127 - "Accordian" Patience
- UVa:127 "Accordian" Patience
- "Accordian" Patience UVa OJ 127 纸牌游戏
- UVa 127 - "Accordian" Patience POJ 1214 链表题解
- UVa 127 - "Accordian" Patience
- uva 127 - "Accordian" Patience
- "Accordian" Patience UVA - 127 (数据结构)
- UVa 127 "Accordian" Patience