| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 helehappy 于 2015-10-28 09:34 编辑  
 
编程挑战赛开始 了! 
为了提高自己的水平,当然也同时各位鱼友有个挑战自己机会,特开编程挑战贴 
 
 
每周一题(下次周五出题,周日给出我的参考答案),这次的,周二给参考并统一回答各鱼友 
此比赛完全处于自己的意愿,不提供奖品之类的哈! 只做交流 
 
要求:可以使用任何你想用的语言,当然我用C或者python 
            每道题都有个时间限制 
            然后就没有了 
 
回帖要求: 
                        能给出具体代码的就给代码 
                        要是时间上的限制,那么你可以花个几分钟写出具体思路(最终要的程序实现的点) 
 
废话不多说第一题: 
                难度:2两星(一共5星)   时间:120分钟 
题目详情: 
        HJ经常和同学下五子棋,在同学面前可谓是盘潘皆赢。有一天一同学就说:你下棋这么厉害,那编程厉害不?我现在给你一道题目,你能写出正确的程序?HJ坦然接受。 
        题目是这样的:给你一局未下完的五子棋棋局,现在轮到白棋下,试问白棋能不能在至多两颗棋子就赢了? 
        五子棋规则: 
        1,对局双方各执一色棋子 
        2,空棋盘开局 
        3,黑先白后,交替下棋,每次只能下一个棋 
        4,下在棋盘空白点上之后不得改动位置 
        5,先达到5子相连的胜,(就是横或竖或斜着连成5子棋) 
 
输入描述: 
        测试数据包含多组,每组首先是两个正整数n,m(0<n,m<100)分别表示棋盘的行数和列数,接下来是n行m列的数据,其中‘1’表示白棋,‘0’表示黑棋,‘ ’(空格)表示没有棋子,保证输入合法。输入的首个数字表示有多少组测试数据 
输出描述: 
        如果白棋能在之多两颗棋就赢,那么输出‘yes’,不行则‘no’ 
 
输入示例:(因为这里空格不明显,暂用-表示空格) 
2 
5-6 
-1--11 
-000-0 
---110 
1-110- 
1000-- 
2-6 
-11-1- 
001000 
输入: 
no 
yes 
                         
 
 
 
 
解题过程: 
 |   
 
 
 
 |