P1838 三子棋I

2023-02-21,

题目描述

小a和uim喜欢互相切磋三子棋。三子棋大家都玩过是吗?就是在九宫格里面OOXX(别想歪了),谁连成3个就赢了。

由于小a比较愚蠢,uim总是让他先。

我们用9个数字表示棋盘位置:

123 456 789 所有的棋谱都是已经结束的棋局,要么一方获胜,要么平局。

今天,他们下了一下午的棋,小a为了提高技术,录下了很多棋谱。他想知道,一盘棋结束时,到底是谁赢。

输入输出格式

输入格式:

一行,一串数字,表示落子的地点。小a总是先下

输出格式:

一行,如果小a赢,输出“xiaoa wins.”。如果uim赢,输出“uim wins.”。如果平局,输出“drew.”

输入输出样例

输入样例#1:

5237649

输出样例#1:

xiaoa wins.

输入样例#2:

539128647

输出样例#2:

drew.

没啥好说的,就是每走一步就判断一下。
#include<iostream>
#include<cstdio>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
int a[];
int n,t=;
void check()
{
if((a[]==a[]&&a[]==a[])||(a[]==a[]&&a[]==a[])||(a[]==a[]&&a[]==a[]))
{
int o=a[];
if(o==)
{
printf("xiaoa wins.");
exit();
}else if(o==)
{
printf("uim wins.");
exit();
}
}else
if((a[]==a[]&&a[]==a[])||(a[]==a[]&&a[]==a[]))
{
int o=a[];
if(o==)
{
printf("xiaoa wins.");
exit();
}else if(o==)
{
printf("uim wins.");
exit();
}
}else
if((a[]==a[]&&a[]==a[])||(a[]==a[]&&a[]==a[]))
{
int o=a[];
if(o==)
{
printf("xiaoa wins.");
exit();
}else if(o==)
{
printf("uim wins.");
exit();
}
}else
if((a[]==a[]&&a[]==a[]))
{
int o=a[];
if(o==)
{
printf("xiaoa wins.");
exit();
}else if(o==)
{
printf("uim wins.");
exit();
}
}
}
int main()
{
char c;
while(scanf("%c",&c))
{
n=c-'';
if(c=='\n') break;
t++;
if(t%) a[n]=;
else a[n]=;
check();
}
cout<<"drew.";
return ;
}
 

P1838 三子棋I的相关教程结束。

《P1838 三子棋I.doc》

下载本文的Word格式文档,以方便收藏与打印。