题目来自UVa1589,链接 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4464
考虑一个象棋残局,其中红方有n(2=
需要考虑的几个点:
1、需要读取多个测试例;
2、将帅照面的情况,比如初始状态就将帅照面了,或走一步照面;
3、炮必须隔一个子;
4、“憋马腿”的情况;
剩下就是个人实现的细节差异了。
个人代码实现如下:
主函数循环读取数据,对每个测试例进行判断,并输出结果,调试过程中可以利用freopen将输入和输出记录在文件中。
黑方将的可走位置利用查表的方式寻找。
检查是否将死,飞将、车、炮和马。
检查飞将的情况。
检查马是否能将死黑将。
详细完整代码如下:
需要源代码的可以私信,私信发象棋源码判定
閱讀更多 程序員剛剛 的文章