我的代码:

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. char a[3][3];
  6. int i,j=0;
  7. for(i=0;i<3;i++){
  8. for(j=0;j<3;j++){
  9. cin>>a[i][j];
  10. }
  11. }
  12. int count1,count2;
  13. int len1,len2;
  14. len1=len2=0;
  15. char b[50],c[2][50];
  16. count1=count2=0;
  17. for( i=0;i<3;i++ )
  18. {
  19. if(a[i][0]==a[i][1]&&a[i][1]==a[i][2]){
  20. b[j++]=a[i][0];
  21. }
  22. if(a[0][i]==a[1][i]&&a[1][i]==a[2][i]){
  23. b[j++] = a[0][i];
  24. }
  25. }
  26. if(a[0][0]==a[1][1]&&a[1][1]==a[2][2]){
  27. b[j++]=a[0][0];
  28. }
  29. if(a[0][2]==a[1][1]&&a[1][1]==a[2][0]){
  30. b[j++]=a[0][2];
  31. }
  32. len1 = j;
  33. for(i=0;i<len1;i++){
  34. for(j=i+1;j<len1;j++){
  35. if(b[i]==b[j]){
  36. b[j]='1';
  37. }
  38. }
  39. }
  40. j=0;
  41. for(i=0;i<len1;i++){
  42. if('A'<=b[i]&&b[i]<='Z')count1++;
  43. }
  44. for( i=0;i<3;i++ )
  45. {
  46. if(a[i][0]==a[i][1]&&a[i][0]!=a[i][2]) {
  47. c[0][j] = a[i][0];
  48. c[1][j++] = a[i][2];
  49. }
  50. if( a[i][1]==a[i][2]&&a[i][2]!=a[i][0] ){
  51. c[0][j] = a[i][1];
  52. c[1][j++] = a[i][0];
  53. }
  54. if( a[i][0]==a[i][2]&&a[i][2]!=a[i][1] ){
  55. c[0][j] = a[i][0];
  56. c[1][j++] = a[i][1];
  57. }
  58. if(a[0][i]==a[1][i]&&a[0][i]!=a[2][i]){
  59. c[0][j] = a[0][i];
  60. c[1][j++] = a[2][i];
  61. }
  62. if( a[1][i]==a[2][i]&&a[2][i]!=a[0][i] ){
  63. c[0][j] = a[1][i];
  64. c[1][j++] = a[0][i];
  65. }
  66. if( a[0][i]==a[2][i]&&a[2][i]!=a[1][i] ){
  67. c[0][j] = a[0][i];
  68. c[1][j++] = a[1][i];
  69. }
  70. }
  71. if(a[0][0]==a[1][1]&&a[1][1]!=a[2][2]){
  72. c[0][j] = a[0][0];
  73. c[1][j++] = a[2][2];
  74. }
  75. if(a[1][1]==a[2][2]&&a[2][2]!=a[0][0]) {
  76. c[0][j] = a[1][1];
  77. c[1][j++] = a[0][0];
  78. }
  79. if(a[0][0]==a[2][2]&&a[2][2]!=a[1][1]) {
  80. c[0][j] = a[0][0];
  81. c[1][j++] = a[1][1];
  82. }
  83. if(a[0][2]==a[1][1]&&a[1][1]!=a[2][0]){
  84. c[0][j] = a[1][1];
  85. c[1][j++] = a[2][0];
  86. }
  87. if(a[1][1]==a[2][0]&&a[1][1]!=a[0][2]) {
  88. c[0][j] = a[1][1];
  89. c[1][j++] = a[0][2];
  90. }
  91. if(a[0][2]==a[2][0]&&a[0][2]!=a[1][1]) {
  92. c[0][j] = a[0][2];
  93. c[1][j++] = a[1][1];
  94. }
  95. len2 = j;
  96. for(i=0;i<len2;i++){
  97. for(j=i+1;j<len2;j++){
  98. if((c[0][i]==c[0][j]&&c[1][i]==c[1][j])||(c[0][i]==c[1][j]&&c[1][i]==c[0][j])){
  99. c[0][j]='1';
  100. c[1][j]='1';
  101. }
  102. }
  103. }
  104. j=0;
  105. for(i=0;i<len2;i++){
  106. if('A'<=c[0][i]&&c[0][i]<='Z')count2++;
  107. }
  108. cout<<count1<<endl<<count2;
  109. }

ACM-Team Tic Tac Toe的更多相关文章

  1. 2019 GDUT Rating Contest III : Problem C. Team Tic Tac Toe

    题面: C. Team Tic Tac Toe Input file: standard input Output file: standard output Time limit: 1 second M ...

  2. 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 ...

  3. POJ 2361 Tic Tac Toe

    题目:给定一个3*3的矩阵,是一个井字过三关游戏.开始为X先走,问你这个是不是一个合法的游戏.也就是,现在这种情况,能不能出现.如果有人赢了,那应该立即停止.那么可以知道X的步数和O的步数应该满足x= ...

  4. 【leetcode】1275. Find Winner on a Tic Tac Toe Game

    题目如下: Tic-tac-toe is played by two players A and B on a 3 x 3 grid. Here are the rules of Tic-Tac-To ...

  5. [CareerCup] 17.2 Tic Tac Toe 井字棋游戏

    17.2 Design an algorithm to figure out if someone has won a game oftic-tac-toe. 这道题让我们判断玩家是否能赢井字棋游戏, ...

  6. Epic - Tic Tac Toe

    N*N matrix is given with input red or black.You can move horizontally, vertically or diagonally. If ...

  7. python 井字棋(Tic Tac Toe)

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

  8. LeetCode 5275. 找出井字棋的获胜者 Find Winner on a Tic Tac Toe Game

    地址 https://www.acwing.com/solution/LeetCode/content/6670/ 题目描述A 和 B 在一个 3 x 3 的网格上玩井字棋. 井字棋游戏的规则如下: ...

  9. sdut 2162:The Android University ACM Team Selection Contest(第二届山东省省赛原题,模拟题)

    The Android University ACM Team Selection Contest Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里 ...

随机推荐

  1. office的project的激活码

    8XWTK-7DBPM-B32R2-V86MX-BTP8PMVR3D-9XVBT-TBWY8-W3793-FR7C326K3G-RGBT2-7W74V-4JQ42-KHXQWD4HF2-HMRGR-R ...

  2. LA 3938 动态最大连续和(线段树)

    https://vjudge.net/problem/UVALive-3938 题意:给出一个长度为n的整数序列D,你的任务是对m个询问作出回答.对于询问(a,b),需要找到两个下标x和y,使得a≤x ...

  3. python strip()函数 os.popen()

    函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除序列的字符 s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字 ...

  4. 学习mybatis-3 step by step 篇一

    一.搭建简单mybatis-3环境(详细的中文文档) 集成开发环境:IDEA 项目:maven + mybatis-3 1.创建maven结构项目 含简单,如下图: 下一步后,填写groupid和ar ...

  5. c++ 容器排序

    #include <algorithm> #include <functional> #include <array> #include <iostream& ...

  6. Qt5_vs2013_error_C2001: 常量中有换行符__ZC

    ZC: 这里是解决 Windows平台下的这个 编译error :“error C2001: 常量中有换行符”. ZC: 我现在(20161221)的处理方式:vs2010或vs2015 将cpp文件 ...

  7. MVP框架模式

    一.基本概念 MVP是Model-View-Presenter的简称,即模型-视图-表现层的缩写.MVP是由MVC模式进化而来的,MVP改进了MVC中的控制器过于臃肿的问题.与MVC一样,MVP将应用 ...

  8. 《Effective C#》读书笔记——条目13:正确地初始化静态成员变量<.NET资源管理>

      我们知道在C#语言中创建一个类型的实例前,就应该初始化该类型的所有静态成员变量.C#语言为我们提供了静态初始化器和静态构造函数.其中,静态构造函数是一个特殊的构造函数,将在其他所有方法执行前以及变 ...

  9. uva-11021-全概率公式

    https://vjudge.net/problem/UVA-11021 有n个球,每只的存活期都是1天,他死之后有pi的概率产生i个球(0<=i<n),一开始有k个球,问m天之后所有球都 ...

  10. IOS-网络(JSON解析数据与XML解析数据)

    一.JSON解析数据 // // VideoModel.h // IOS_0130_网络视频 // // Created by ma c on 16/1/30. // Copyright © 2016 ...