题面:

翻译:

有一些牛在玩一个游戏:
他们把一些字母写在一个3*3的黑板上.
这些奶牛的名字的首字母分别是A…Z
如果黑板上有相同的字母能够连成一行/一列/一斜.那么名字首字母为这个字母的牛获胜.
但是这样的话太难获胜了,所以这个游戏可以允许两个人合作.
如果有两个字母可以组成一行/一列/一斜,那么两头牛合作获胜.

输入:

三行三列的9个字母

输出:

第一行是一个整数,代表能够独自取胜的牛的个数.
第二行是一个整数,代表能够合作取胜的牛有多少对.

题目分析:

这个题目并不难,就是代码量比较大.
同时要注意几个点:

  • 已经能够获胜的奶牛不需要重复计算
    比如
    XXX
    XXX
    XXX
    那么答案就是
    1
    0
  • 不能抱大腿,一行/一列/一斜,需要同时含有两个字母,才能算是合作取胜,XXX这样的一行不能算作是X和A合作取胜.

代码:

#include<stdio.h>char b[9], ans1, ans2;
bool cow[26] ,cows[26][26];void cmp(char c1, char c2, char c3){if(c1 == c2 && c2 == c3 && c3 == c1){if(!cow[c1-65]){cow[c1-65] = 1;ans1++;}}if(c1 == c2 && c1 != c3){if(!cows[c1-65][c3-65]){cows[c1-65][c3-65] = cows[c3-65][c1-65] = 1;ans2++;}}if(c1 == c2 && c1 != c3){if(!cows[c1-65][c3-65]){cows[c1-65][c3-65] = cows[c3-65][c1-65] = 1;ans2++;}}if(c1 == c3 && c1 != c2){if(!cows[c1-65][c2-65]){cows[c1-65][c2-65] = cows[c2-65][c1-65] = 1;ans2++;}}if(c3 == c2 && c1 != c3){if(!cows[c1-65][c3-65]){cows[c1-65][c3-65] = cows[c3-65][c1-65] = 1;ans2++;}}
}int main(){for(int i = 0; i < 9; i++)  scanf(" %c", b+i);ans1 = 0; ans2 = 0;cmp(b[0],b[1],b[2]);cmp(b[3],b[4],b[5]);cmp(b[6],b[7],b[8]);cmp(b[0],b[3],b[6]);cmp(b[1],b[4],b[7]);cmp(b[2],b[5],b[8]);cmp(b[0],b[4],b[8]);cmp(b[2],b[4],b[6]);printf("%d\n%d\n", ans1, ans2);
}

Team Tic Tac Toe 题解相关推荐

  1. python二维游戏示例_Python实现的井字棋(Tic Tac Toe)游戏示例

    本文实例讲述了Python实现的井字棋(Tic Tac Toe)游戏.分享给大家供大家参考,具体如下: 说明 用python实现了井字棋,整个框架是本人自己构思的,自认为比较满意.另外,90%+的代码 ...

  2. python游戏代码运行不了_无法使我的tic tac toe游戏在python中正确运行

    转不到"玩家1"的原因是你的支票中缺少一个空格.你也没有正确地检查一个玩家何时获胜,这就是为什么你会有这种奇怪的行为.你需要检查每个位置,而不仅仅是最后一个.我还添加了对用户输入的 ...

  3. react中使用构建缓存_通过在React中构建Tic Tac Toe来学习ReasonML

    react中使用构建缓存 3. 7. 2018: UPDATED to ReasonReact v0.4.2 3. 7. 2018:更新为ReasonReact v0.4.2 You may have ...

  4. Principle of Computing (Python)学习笔记(7) DFS Search + Tic Tac Toe use MiniMax Stratedy

    1. Trees Tree is a recursive structure. 1.1 math nodes https://class.coursera.org/principlescomputin ...

  5. amazon.设计1. tic tac toe

    //不觉中 已经全力找工作好久好久了.大概有1年半了.身心疲惫,不要放弃.曙光快来了. 1.tic tac toe //http://www.ntu.edu.sg/home/ehchua/progra ...

  6. python井字棋ai,python 井字棋(Tic Tac Toe)

    说明 用python实现了井字棋,整个框架是本人自己构思的,自认为比较满意.另外,90%+的代码也是本人逐字逐句敲的. minimax算法还没完全理解,所以参考了这里的代码,并作了修改. 特点 可以选 ...

  7. python井字棋游戏代码_Python实现的井字棋(Tic Tac Toe)游戏示例

    Python实现的井字棋(Tic Tac Toe)游戏示例 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  Python实现的井字棋(Tic Tac Toe)游戏示 ...

  8. C++ 很有趣:编写一个井字游戏 (Tic Tac Toe)

    英文原文:C++ is fun: Writing a Tic Tac Toe Game 这个有趣的C++系列打算展示一下使用C++写代码可以和其他主流语言一样高效而有趣.在第二部分,我将向你展示使用C ...

  9. 圈叉游戏 java_【炫光圈叉棋】炫光圈叉棋 Tic Tac Toe Glow 1.8.1下载_安卓(android)软件下载-魅族溜...

    一款炫光风格的圈叉棋游戏,支持单/双人模式.圈叉棋,英文:tic-tac-toe,别名:圈叉游戏.是一种游戏,3*3的9个方格子,先下者画圈,后下者画叉,每人可以在任意没有对方棋子的封闭方格里下一次, ...

  10. java tic tac toe_请问我这个tic tac toe的游戏代码的问题在哪里

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Scanner in = new Scanner(System.in); final int SIZE =3; int[][] board = new i ...

最新文章

  1. cydia收费插件源_Cydia消失了怎么办 Cydia错误汇总介绍【图文】
  2. OpenCASCADE:网格之BRepMesh 架构
  3. SAP CRM中间件Object出现wait状态的原因调试
  4. vim 显示行号_Vim给文件加行号,这通惊为天人的操作没sei了!文末天书慎点
  5. ArcGIS API for Silverlight中legend控件显示图例问题
  6. python自学入门-初学 Python 者自学 Anaconda 的正确姿势是什么?
  7. android expandablelistview 动画,的Android ExpandableListView使用动画
  8. XML编辑器oXygen XML Editor V19大版本更新 | 附下载
  9. 交易方法我的总结仔细看看
  10. zigbee网关 zstack CC2530添加iic温度传感器lm75a
  11. 汉诺塔游戏玩法介绍(攻略和编程实现)
  12. groupby.nth_熊猫groupby first vs groupby nth vs groupby head
  13. 3万行代码硬撸一个一键发布文章工具,简直不要太好用,从此写文章,发文章,太简单了好伐
  14. 论文笔记:Probabilistic Matrix Factorization
  15. 数字温湿度传感器DHT11
  16. 如何将旧Mac的数据迁移到新的MacBook Pro
  17. visual studio 2019安装教程(C++版)
  18. 强化学习 | 策略梯度 | Natural PG | TRPO | PPO
  19. 基于Java的开源 Carrot2 搜索结果聚合聚类引擎 2.0发布了
  20. 快手切入蓝领招聘,58同城准备好了吗?

热门文章

  1. 服务器安全值得深思的几点问题?
  2. 输入框限制规则 只能输入数字 只能输入字母数字 等等
  3. python光棍节快乐_光棍节快乐的祝福语QQ【17句】
  4. SSL_2278 Oliver的救援
  5. python下载图片到文件夹_Python批量下载网页图片详细教程
  6. epoch如何设置_最易懂的方式介绍 神经网络模型中的Epoch、Iteration、Batchsize
  7. 异或为什么满足结合律,布尔代数与布尔环简介
  8. 【uva12345】Dynamic len
  9. 最简单linux桌面环境,推荐:轻型简易的Linux桌面环境
  10. Leo个人MSN简明使用手册