第一届浙江师范学C语言程序设计竞赛解题报告.docVIP

第一届浙江师范学C语言程序设计竞赛解题报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一届浙江师范学C语言程序设计竞赛解题报告

第一届浙江师范大学C语言程序设计竞赛解题报告 (罗方炜,lfw2565295@126.com ,浙师大10计软) 比赛概述 首先是本届比赛的题目: 本次比赛的提交统计: 其中B,F,H相对简单,C,E,G为中等题,A,D为稍难题 本次比赛前十名的情况: 有两名同学成功解出6道,还有6名同学解出5道,4道的还有些,同时恭喜前5名获得本次比赛的一等奖 题目讲解 A:欢乐五子棋 Time Limit:?1000MS Memory Limit:?65536K Total Submissions:?8 Accepted:?3 Description 五子棋是一种两人对弈的纯策略型棋类游戏,是起源于中国古代的传统黑白棋种之一。发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。? 传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为19×19,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。? Alice和Bob的五子棋游戏和传统的五子棋有一些不一样就是他们使用的棋盘被更改成为9×9。由于Alice是女生,所以每局比赛都由Alice执黑先走。? 现在给定一个9×9的棋盘,问下一步走的那个人是否能获胜,你能编程告诉我吗?? Input 数据的第一行是一个整数N(N50),表示一共有N组数据;? 接着是N组测试测试数据;? 每组测试数据包括9行9列的字符;? 这9行测试数据中的字符只包括‘b’、‘w’、‘.’,分别代表黑子,白子和空的;? 输入数据都是合法数据,就是说(黑子数-白子数)=0或1,以及任何一方到当前步为止都没有取得胜利;? 输入数据之间用空行隔开(不需要考虑)。 Output 如果下一步是Alice走并且能取得胜利,输出“Case x:Alice win!”,下一步是Bob走并且能取得胜利,输出“Case x:Bob win!”,其余情况输出“Case x:Tie”,x表示第x组数据。 Sample Input 2 b........ ...b.w..b .w.w..... wbw....bw b........ ..bbb..b. w.wb....w bbbw....w ww..wb.wb b..w..... ...b.w..b .w.w..... wbw....bw b........ ..bbb.b.. w.wb....w bbbw....w ww..wb.wb Sample Output Case 1:Tie Case 2:Alice win! 思路: 其实本题并不难,类型为模拟题。 读入9*9的字符矩阵后,可以先统计下黑子和白字的数量,如题目中描写,黑子多则该白字下了,数量一样则该黑子下了。 对于下哪步,可以枚举空白部分的各种情况,把相应的棋子放进去,判断下,横线、竖线或斜线有没有连成5颗的情况,有的话,就有胜负,各种情况都没有的话,就是平局。 参考代码: #includestdio.h char g[15][15]; int dx[]={-1,-1,-1,0,1,1,1,0}; int dy[]={-1,0,1,1,1,0,-1,-1}; bool chk(int x,int y,int t){ int i,tx,ty,ct[8]; char p=t?w:b; for(i=0;i8;i++){ ct[i]=0; tx=x+dx[i], ty=y+dy[i]; while(tx=0tx9ty=0ty9g[tx][ty]==p){ ct[i]++; tx=tx+dx[i], ty=ty+dy[i]; } } for(i=0;i4;i++) if(ct[i]+ct[i+4]=4) { printf(%s\n,t?Bob win!:Alice win!); return 1; } return 0; } int main(){ int i,j,r=1,Cas,cb,cw,tie; scanf(%d,Cas); while(Cas--){ for(i=0;i9;i++) scanf(%s,g[i]); printf(Case %d:,r++); cb=cw=0; for(i=0;i9;i++){ for(j=0;j9;j++){ if(g[i][j]==b) cb++; if(g[i][j]==w) cw++; } }tie=1; for(i=0;i9tie;i++){ for(j=0;j9tie;j++){

文档评论(0)

sxa632 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档