ACM-Team Tic Tac Toe

我的代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
char a[3][3];
int i,j=0;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
cin>>a[i][j];
}
}
int count1,count2;
int len1,len2;
len1=len2=0;
char b[50],c[2][50];
count1=count2=0;
for( i=0;i<3;i++ )
{
if(a[i][0]==a[i][1]&&a[i][1]==a[i][2]){
b[j++]=a[i][0];
}
if(a[0][i]==a[1][i]&&a[1][i]==a[2][i]){
b[j++] = a[0][i];
}
}
if(a[0][0]==a[1][1]&&a[1][1]==a[2][2]){
b[j++]=a[0][0];
}
if(a[0][2]==a[1][1]&&a[1][1]==a[2][0]){
b[j++]=a[0][2];
}
len1 = j;
for(i=0;i<len1;i++){
for(j=i+1;j<len1;j++){
if(b[i]==b[j]){
b[j]='1';
}
}
}
j=0;
for(i=0;i<len1;i++){
if('A'<=b[i]&&b[i]<='Z')count1++;
}
for( i=0;i<3;i++ )
{
if(a[i][0]==a[i][1]&&a[i][0]!=a[i][2]) {
c[0][j] = a[i][0];
c[1][j++] = a[i][2];
}
if( a[i][1]==a[i][2]&&a[i][2]!=a[i][0] ){
c[0][j] = a[i][1];
c[1][j++] = a[i][0];
}
if( a[i][0]==a[i][2]&&a[i][2]!=a[i][1] ){
c[0][j] = a[i][0];
c[1][j++] = a[i][1];
}
if(a[0][i]==a[1][i]&&a[0][i]!=a[2][i]){
c[0][j] = a[0][i];
c[1][j++] = a[2][i];
}
if( a[1][i]==a[2][i]&&a[2][i]!=a[0][i] ){
c[0][j] = a[1][i];
c[1][j++] = a[0][i];
}
if( a[0][i]==a[2][i]&&a[2][i]!=a[1][i] ){
c[0][j] = a[0][i];
c[1][j++] = a[1][i];
}
}
if(a[0][0]==a[1][1]&&a[1][1]!=a[2][2]){
c[0][j] = a[0][0];
c[1][j++] = a[2][2];
}
if(a[1][1]==a[2][2]&&a[2][2]!=a[0][0]) {
c[0][j] = a[1][1];
c[1][j++] = a[0][0];
}
if(a[0][0]==a[2][2]&&a[2][2]!=a[1][1]) {
c[0][j] = a[0][0];
c[1][j++] = a[1][1];
}
if(a[0][2]==a[1][1]&&a[1][1]!=a[2][0]){
c[0][j] = a[1][1];
c[1][j++] = a[2][0];
}
if(a[1][1]==a[2][0]&&a[1][1]!=a[0][2]) {
c[0][j] = a[1][1];
c[1][j++] = a[0][2];
}
if(a[0][2]==a[2][0]&&a[0][2]!=a[1][1]) {
c[0][j] = a[0][2];
c[1][j++] = a[1][1];
}
len2 = j;
for(i=0;i<len2;i++){
for(j=i+1;j<len2;j++){
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])){
c[0][j]='1';
c[1][j]='1';
}
}
}
j=0;
for(i=0;i<len2;i++){
if('A'<=c[0][i]&&c[0][i]<='Z')count2++;
}
cout<<count1<<endl<<count2;
}
ACM-Team Tic Tac Toe的更多相关文章
- 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 ...
- 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 ...
- POJ 2361 Tic Tac Toe
题目:给定一个3*3的矩阵,是一个井字过三关游戏.开始为X先走,问你这个是不是一个合法的游戏.也就是,现在这种情况,能不能出现.如果有人赢了,那应该立即停止.那么可以知道X的步数和O的步数应该满足x= ...
- 【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 ...
- [CareerCup] 17.2 Tic Tac Toe 井字棋游戏
17.2 Design an algorithm to figure out if someone has won a game oftic-tac-toe. 这道题让我们判断玩家是否能赢井字棋游戏, ...
- Epic - Tic Tac Toe
N*N matrix is given with input red or black.You can move horizontally, vertically or diagonally. If ...
- python 井字棋(Tic Tac Toe)
说明 用python实现了井字棋,整个框架是本人自己构思的,自认为比较满意.另外,90%+的代码也是本人逐字逐句敲的. minimax算法还没完全理解,所以参考了这里的代码,并作了修改. 特点 可以选 ...
- LeetCode 5275. 找出井字棋的获胜者 Find Winner on a Tic Tac Toe Game
地址 https://www.acwing.com/solution/LeetCode/content/6670/ 题目描述A 和 B 在一个 3 x 3 的网格上玩井字棋. 井字棋游戏的规则如下: ...
- sdut 2162:The Android University ACM Team Selection Contest(第二届山东省省赛原题,模拟题)
The Android University ACM Team Selection Contest Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里 ...
随机推荐
- QT+VS中ui不能声明为指针?
问题描述:QtCreator里的UI全是默认为指针类型,调用的时候[ui->]但是使用VS+Qt来,发来默认的是变量类型,使用的时候[ui.] 统一:为了统一我把后者声明改为前者 问题:在mai ...
- Scan法求凸包
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1348 给一个半径和n个点 求圆的周长 + n个点的凸包的周长 #include<bits/std ...
- pix2pix-tensorflow搭建及其使用
目录 pix2pix-tensorflow搭建过程 1. 环境搭建 2. 环境说明 3. 开始搭建 4. 训练结果说明 5. 数据集 5.1 图片格式说明 5.3 从先用图片创建图像对 5.4 如何进 ...
- Anaconda中常用的用法
Anaconda中常用的用法 conda 是开源包(packages)和虚拟环境(environment)的管理系统. packages 管理: 可以使用 conda 来安装.更新 .卸载工具包 ,并 ...
- POJ 1034 The dog task(二分图匹配)
http://poj.org/problem?id=1034 题意: 猎人和狗一起出去,狗的速度是猎人的两倍,给出猎人的路径坐标,除了这些坐标外,地图上还有一些有趣的点,而我们的狗,就是要尽量去多的有 ...
- Qt532_QWebView做成DLL供VC/Delphi使用_Bug
Qt5.3.2 vs2010 OpenGL ,VC6.0,Delphi7 1.自己继承 类QWebView,制作成DLL 供 VC6/Delphi7 使用 2.测试下来,DLL供VC6使用: 加载&q ...
- 树状数组 Binary Indexed Tree/Fenwick Tree
2018-03-25 17:29:29 树状数组是一个比较小众的数据结构,主要应用领域是快速的对mutable array进行区间求和. 对于一般的一维情况下的区间和问题,一般有以下两种解法: 1)D ...
- HDU1166 敌兵布阵_线段树
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- hadoop安装及注意事项
一.hadoop安装及注意事项1.安装hadoop的环境,必须在你的系统中有java的环境.2.必须安装ssh,有的系统默认就安装,如果没有安装需要手动安装. 可以用yum install -y ...
- C语言对表达式的求值顺序不是明确规定的
讨论区看到的 WA来自那些递归下降求解的代码. 第一种情况,使用|| 和 &&: 例如s为所给串 int getval() { switch(s[c_s++]) { case 'p': ...