UVA227
来源:互联网 发布:salt算法和sha算法 编辑:程序博客网 时间:2024/06/04 18:45
一道我目前为止写过的最长代码的题,小小纪念一下,思路很简单,就是模拟,但是他的输出格式,我不是很明白,是复制网友代码然后发现的规律。代码很简单,应该可以看懂,orz
#include<iostream>#include<stdio.h>using namespace std;char s[6][6];struct blank{ int row;//行 int col;//列}blank;int input(){ int flag2 = 0; for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) { s[i][j] = getchar(); if (s[i][j] == 'Z') { flag2 = 1; break; } if (s[i][j] == ' ') //指向空白格 { blank.col = j; blank.row = i; } if (j == 5)getchar(); } if (flag2 == 1)break; } return flag2;}int move(){ char move; int flag = 0; while(cin>>move) { if (move == '0')break; switch (move) { case('A'): if (blank.row != 1) { s[blank.row][blank.col] = s[blank.row-1][blank.col]; s[--blank.row][blank.col] = ' '; } else flag = 1; break;//上 case('B'): if (blank.row != 5) { s[blank.row][blank.col] = s[blank.row+1][blank.col]; s[++blank.row][blank.col] = ' '; } else flag = 1; break;//下 case('R'): if (blank.col != 5) { s[blank.row][blank.col] = s[blank.row][blank.col+1]; s[blank.row][++blank.col] = ' '; } else flag = 1; break;//右 case('L'): if (blank.col != 1) { s[blank.row][blank.col] = s[blank.row][blank.col-1]; s[blank.row][--blank.col] = ' '; } else flag = 1; break;//左 } } return flag;}void output(int count){ if (count > 1)cout << endl; printf("Puzzle #%d:\n", count); for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 5; j++) { if (j == 5)cout << s[i][j] << endl; else cout << s[i][j] << " "; } }}int main(){ int count = 1; for (;;) { int t1,t2; t1 = input(); if (t1)break; t2=move(); if (t2==0)output(count++); else { if (count > 1)cout << endl; printf("Puzzle #%d:\n", count++); cout << "This puzzle has no final configuration." << endl; } getchar(); } return 0;}
阅读全文
0 0
- UVA227
- uva227
- UVA227
- Uva227
- UVa227
- Uva227
- UVa227
- UVa227
- UVA227
- UVA227
- Uva227 - Puzzle
- uva227 谜题
- Uva227.Puzzle
- UVA227-Puzzle
- UVa227 Puzzle
- uva227 - Puzzle
- Puzzle,UVa227
- UVA227--谜题
- kinect v2 + gpd + ubuntu 14.04.5
- spring boot activeMQ 配置
- event-bus
- 【lightoj1028】求因子个数
- react中使用switch-case语句
- UVA227
- 派生类的构造器
- 日期的输入和获取
- ANT标签详解
- 现代网页的灵魂 —— JavaScript
- Django: model与makemigrations、migrate、syncdb详解
- 周中记录--2017.12.7
- Linux do_initcall_level()
- Spring+hibernate+mybatis依赖