UVa 220 - Othello
2014-08-13 15:39
218 查看
时间限制:3.000秒
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=833&page=show_problem&problem=156
一道黑白棋的模拟。
首先输入一个数字代表样例的数量。
每组样例中首先输入一个8 x 8的棋盘,“-”代表此处无棋子,“B”代表此处为黑子,“W”代表此处为白子。接下来的一行有一个字母,“W”或"B"代表接下来要落子的一方。
然后是一些命令,每个命令一行,开头是一个字母:
“L”:打印当前落子的一方能够进行的所有操作,按照从上向下,从左向右的顺序排列。如果没有合法操作输出“No legal move.”。
“M”:后跟两个数字r,c,代表落子的位置。如果当前落子的一方没有合法操作,那么换另一方在此位置落子。落子后根据黑白棋的规则对棋盘进行操作。输入保证这个操作是合法的。操作完毕之后输出黑白方的棋子总数。
“Q”:退出游戏,并打印当前棋盘。
具体细节参考样例及原题。
难度上来说不算难,属于比较麻烦的……因为要八个方向去找去操作,没啥好说的,就是模拟。
之前写过一次,结果凑了一晚上没过。这次特地把函数分得比较细,先搭大框架再实现具体细节,以免上个厕所回来看见一坨长代码不知道怎么下手,总算是A过去了……
看来以后要注意一下代码的结构问题了……这样才方便看方便改,不然一不对又抓瞎了……
代码貌似还可以再优化一点……
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=833&page=show_problem&problem=156
一道黑白棋的模拟。
首先输入一个数字代表样例的数量。
每组样例中首先输入一个8 x 8的棋盘,“-”代表此处无棋子,“B”代表此处为黑子,“W”代表此处为白子。接下来的一行有一个字母,“W”或"B"代表接下来要落子的一方。
然后是一些命令,每个命令一行,开头是一个字母:
“L”:打印当前落子的一方能够进行的所有操作,按照从上向下,从左向右的顺序排列。如果没有合法操作输出“No legal move.”。
“M”:后跟两个数字r,c,代表落子的位置。如果当前落子的一方没有合法操作,那么换另一方在此位置落子。落子后根据黑白棋的规则对棋盘进行操作。输入保证这个操作是合法的。操作完毕之后输出黑白方的棋子总数。
“Q”:退出游戏,并打印当前棋盘。
具体细节参考样例及原题。
难度上来说不算难,属于比较麻烦的……因为要八个方向去找去操作,没啥好说的,就是模拟。
之前写过一次,结果凑了一晚上没过。这次特地把函数分得比较细,先搭大框架再实现具体细节,以免上个厕所回来看见一坨长代码不知道怎么下手,总算是A过去了……
看来以后要注意一下代码的结构问题了……这样才方便看方便改,不然一不对又抓瞎了……
代码貌似还可以再优化一点……
相关文章推荐
- UVA220_Othello
- UVa 220 - Othello(模拟)
- UVa220 Othello 解题报告
- UVA - 220 Othello
- [刷题]算法竞赛入门经典(第2版) 4-3/UVa220 - Othello
- BFS:UVa220 ACM/ICPC 1992-Othello(黑白棋)
- UVA 220 Othello——模拟
- UVA - 220 Othello
- UVa220 算法竞赛入门经典(第2版)习题4-3 黑白棋 Othello
- 4-3 UVA 220 Othello 黑白棋
- UVa-220 Othello
- UVA - 220 Othello(模拟)
- Problem 046——UVa 220 - Othello
- UVA 220 Othello 模拟题
- UVa-220 Othello
- 算法竞赛入门经典第四章习题4-3 Othello UVA - 220
- UVa 220 Othello
- UVa 220 - Othello
- uva 220 Othello
- Uva220 Othello