三子棋I
题目描述
小a和uim喜欢互相切磋三子棋。三子棋大家都玩过是吗?就是在九宫格里面OOXX(别想歪了),谁连成3个就赢了。
由于小a比较愚蠢,uim总是让他先。
我们用9个数字表示棋盘位置:
123
456
789
所有的棋谱都是已经结束的棋局,要么一方获胜,要么平局。
今天,他们下了一下午的棋,小a为了提高技术,录下了很多棋谱。他想知道,一盘棋结束时,到底是谁赢。
输入格式
一行,一串数字,表示落子的地点。小a总是先下
输出格式
一行,如果小a赢,输出“xiaoa wins.”。如果uim赢,输出“uim wins.”。如果平局,输出“drew.”
样例 #1
样例输入 #1
5237649
样例输出 #1
xiaoa wins.
样例 #2
样例输入 #2
539128647
样例输出 #2
drew.
解析
调节一下学习生活,学累了来写几道题放松一下。
很简单,如果字符串长度不是9,那最后一个是谁下的谁就赢。如果下满了整个棋盘,那不是平局就是小a赢。
填充棋盘,最后行列和斜线判断就行了。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=102;
char c[N];
int a[N][N];
void fill(int i,int k)
{
switch(c[i]-'0')
{
case 1:a[1][1]=k;break;
case 2:a[1