算法竞赛入门经典第三章3-5 Puzzle UVA - 227
2018-01-03 13:41
489 查看
3-5习题
https://vjudge.net/problem/UVA-227
https://vjudge.net/problem/UVA-227
#include<iostream> #include<string> using namespace std; int main() { string s[5],str,sss; int x, y,tt; int flag ; int cnt = 0; while (getline(cin, s[0]) && s[0] != "Z") { ++cnt; if (s[0].size() == 4) s[0]+= " "; if ((tt = s[0].find(' ')) != string::npos) { x = 0; y = tt; } for (int i = 1; i < 5; ++i) { getline(cin, s[i]); if (s[i].size() == 4) s[i] += " "; if ((tt = s[i].find(' ')) != string::npos) { x = i; y = tt; } } str = ""; do { getline(cin, sss); str += sss; } while (str.back() != '0'); flag = 0; for (int i = 0; i < str.size() - 1; ++i) { switch (str[i]) { case 'A': if (!x) { flag = 1; break; } swap(s[x][y], s[x - 1][y]); x -= 1; break; case 'B': if(x==4) { flag = 1; break; } swap(s[x][y], s[x + 1][y]); x += 1; break; case 'L': if(!y) { flag = 1; break; } swap(s[x][y], s[x][y - 1]); y -= 1; break; case 'R': if(y==4) { flag = 1; break; } swap(s[x][y], s[x][y + 1]); y += 1; break; default: break; } if (flag) break; } if (cnt > 1) printf("\n"); printf("Puzzle #%d:\n", cnt); if (flag) printf("This puzzle has no final configuration.\n"); else { for (int i = 0; i < 5; ++i) { printf("%c", s[i][0]); for (int j = 1; j < 5; ++j) printf(" %c", s[i][j]); printf("\n"); } } } }
相关文章推荐
- 算法竞赛入门经典(紫书)第三章——Puzzle UVA-227
- 算法竞赛入门经典(第2版)习题3-5 谜题(Puzzle) Uva227
- 算法竞赛入门经典(第2版)习题3-5 谜题 Puzzle UVa227
- UVA227 puzzle
- UVA 227 - Puzzle
- (入门)uva 227 Puzzle
- 紫书章三习题5——UVA 227 Puzzle
- (UVA)227 - Puzzle
- UVA 227 Puzzle(基础字符串处理)
- Uva-227 Puzzle
- UVA - 227 Puzzle
- 算法竞赛入门经典第三章3-9 All in All UVA - 10340
- UVa-227 - Puzzle
- UVa 227:Puzzle
- UVa227 - Puzzle
- UVA 227 Puzzle
- uva 227 Puzzle
- UVa227-Puzzle
- 紫书章三习题5——UVA 227 Puzzle
- uva227 - Puzzle