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 有疑问?点这里 ...
随机推荐
- 如何在命令提示符下编译运行含有Package的java文件
这篇是大二自学Java的时候记下的笔记,中午回顾印象笔记的时候意外看到了这篇.看到多年前写下的文字,我想起那时候我对Java的懵懵懂懂,每天晚上在图书馆照着书写书上的示例代码,为一个中文分号绞尽脑汁, ...
- Python3基础 print 自带换行
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- BZOJ 2763 飞行路线(分层图最短路)题解
题意:中文题意不解释... 思路:分层图最短路,我们再开一维用来表示当前用了多少次免费次数,dis[i][j]就表示到达i点用了j次免费的最短路,有点DP的感觉. 当个模板用 参考:分层图最短路 代码 ...
- JS判定注册表单的几个方式 及 Ajax进行用户名存在判定
最近感觉不赶紧把代码逻辑记一下梳理一下,再做的时候就容易进入"逻辑误区". 有个表单,简单点. <!DOCTYPE html> <!-- 注册表单验证,用户名格式 ...
- 从0开始配置ubuntu深度学习系统
目录 个性化配置 ubuntu安装及其分区 NVIDIA驱动安装 配置使用清华源 安装shadowsocks-qt 安装chrome 安装gdebi 安装atom 安装wps 安装sogou piny ...
- [osgearth]osgearth原数据获取途径
Help us add useful sources of Free data to this list. Raster data ReadyMap.org - Free 15m imagery, e ...
- tenserflow models包的安装
1.下载 models包 https://github.com/tensorflow/models 2.将models包拷贝到本机Python包的安装地址即可,本机Python包的安装地址的查看方式可 ...
- phpstorm 2017版代码提示功能开启解决方案
安装好phpstorm 2017之后 发现代码高亮和函数自动提示都失效了 在phpstorm底部面板的信息提示处发现有一条系统消息: 12:04:18 Power save mode is on Co ...
- Java网络编程和NIO详解9:基于NIO的网络编程框架Netty
Java网络编程和NIO详解9:基于NIO的网络编程框架Netty 转自https://sylvanassun.github.io/2017/11/30/2017-11-30-netty_introd ...
- 在EORow或者VORow中对数据进行重复性校验
需求:在设置付款条件时不允许账期+付款方式重复. 由于本次需求仅需要对VO缓存中的数据进行重复性校验,所以仅需进行缓存遍历即可,不需要校验数据库. 方式1,在EORow的进行数据校验. public ...