谜题 (Puzzle, ACM/ICPC World Finals 1993, UVa227)
2017-01-18 20:59
911 查看
有一个5*5的网格,其中恰好有一个格子是空的,其他格子各有一个字母。一共有4种指令:A, B, L, R,分别表示把空格上、下、左、右的相邻字母移到空格中。输入初始网格和指令序列(以数字0结束),输出指令执行完毕后的网格。如果有非法指令,应输出“This puzzle has no final configuration.”
例如,图3-5中执行ARRBBL0后,效果如图所示。
没有太大的难度,就是麻烦点,注意输出每行末不能有空格,循环输入为了方便我没有写上,毕竟懂得思路就行了.
例如,图3-5中执行ARRBBL0后,效果如图所示。
没有太大的难度,就是麻烦点,注意输出每行末不能有空格,循环输入为了方便我没有写上,毕竟懂得思路就行了.
#include <iostream> using namespace std; void set_mn(char &chr, int &m, int &n) { if (chr == 'A') m--; if (chr == 'B') m++; if (chr == 'L') n--; if (chr == 'R') n++; } int main() { char mitrix[5][5] = { 'T', 'R', 'G', 'S', 'J', 'X', 'D', 'O', 'K', 'I', 'M', ' ', 'V', 'L', 'N', 'W', 'P', 'A', 'B', 'E', 'U', 'Q', 'H', 'C', 'F' }; char order[100]; int k = 0, i, j, m = 2, n = 1; cin >> order; while (order[k] != '\0' && order[k] != '0') { i = m; j = n; set_mn(order[k], m, n); if (m < 0 || m >= 5 || n < 0 || m >= 5) { cout << "This puzzle has no final configuration." << endl; return 0; } mitrix[i][j] = mitrix[m] ; mitrix[m] = ' '; k++; } for (int i = 0; i < 5; i++) { int space = 0; for (int j = 0; j < 5; j++) { if (space) { cout<<" "; //输出一行后不能有空格 } space = 1; cout << mitrix[i][j]; } cout << endl; } return 0; }
相关文章推荐
- 3-5谜题(Puzzle, ACM/ICPC World Finals 1993, UVa227)
- 谜题(Puzzle, ACM/ICPC World Finals 1993, UVa227)(难死了!!)
- Puzzle, ACM/ICPC World Finals 1993, UVa227
- UVa227 and acm/icpc world finals 1993 谜题
- Puzzle,ACM/ICPC World Finals 1993, UVa227
- Puzzle,ACM/ICPC World Finals 1993,UVa227
- 算法竞赛入门经典(第二版) 习题3-5 谜题(Puzzle) UVa227 Finals1993
- UVA 227 Puzzle 【ACM/ICPC World Final 1993】
- 习题7-2 黄金图形(Golygons, ACM/ICPC World Finals 1993, UVa225)
- 循环小数(Repeating Decimals, ACM/ICPC World Finals 1990, UVa202)
- 信息解码(Message Decoding, ACM/ICPC World Finals 1991, UVa 213)
- [UVa 213]Message Decoding,ACM/ICPC World Finals 1991 信息解码
- UVA 1025 A Spy in the Metro - ACM/ICPC World Finals 2003
- ACM/ICPC World Finals 2013 F Low Power
- Repeating Decimals, ACM/ICPC World Finals 1990, UVa202
- 习题7-1 消防车(Firetruck, ACM/ICPC World Finals 1991, UVa208)
- 习题7-4 切断圆环链(Cutting Chains, ACM/ICPC World Finals 2000, UVa818)
- ACM - ICPC World Finals 2013 H Матрёшка
- 例题9-1 城市里的间谍(A Spy in the Metro, ACM/ICPC World Finals 2003, UVa1025)
- 2018 ACM-ICPC World Finals - Beijing F.Go with the Flow