规律题,博主无耻暴力。。。。。
#include<iostream>
#include<stdio.h>
#include<cstring>
#include<string>
#include<stack>
#include<queue>
#include<functional>
#include<set>
#include<map>
#include<cstdlib>
#include<vector>
#include<cmath>
#include <algorithm>
#pragma warning(disable:4996)
using namespace std;
int n, i, j, t,m;
char s[10][10],c;
int main()
{
scanf("%d", &t);
while (t--)
{
int flag = 0;
for (i = 0; i < 3; i++)
for(j=0;j<3;j++)
scanf(" %c", &s[i][j]);
scanf(" %c",&c);
for (i = 0; i < 3; i++)
for (j = 0; j < 3; j++)
if (s[i][j] == '.')
m++;
if (m == 9)
{
printf("Cannot win!\n");
continue;
}
if (s[0][0] == '.' &&((s[0][1] == c&&s[0][1] == c) || (s[1][0] == c&&s[2][0] == c) || (s[1][1] == c&&s[2][2] == c)))
flag = 1;
else if (s[1][0] == '.' &&((s[0][0] == c&&s[2][0] == c) || (s[1][1] == c&&s[1][2] == c)))
flag = 1;
else if (s[2][0] == '.' && ((s[0][0] == c&&s[1][0] == c) || (s[2][1] == c&&s[2][2] == c) || (s[1][1] == c&&s[2][2] == c)))
flag = 1;
else if (s[0][1] == '.' && ((s[0][0] == c&&s[0][2] == c) || (s[1][1] == c&&s[2][1] == c)))
flag = 1;
else if (s[1][1] == '.' && ((s[0][0] == c&&s[2][2] == c) || (s[0][1] == c&&s[2][1] == c) || (s[0][2] == c&&s[2][0] == c) || (s[1][0] == c&&s[1][2] == c)))
flag = 1;
else if (s[2][1] == '.' && ((s[2][0] == c&&s[2][2] == c) || (s[1][1] == c&&s[0][1] == c)))
flag = 1;
else if (s[0][2] == '.' && ((s[0][0] == c&&s[0][1] == c) || (s[1][2] == c&&s[2][2] == c) || (s[1][1] == c&&s[2][0] == c)))
flag = 1;
else if (s[1][2] == '.' && ((s[0][2] == c&&s[2][2] == c) || (s[1][0] == c&&s[1][1] == c)))
flag = 1;
else if (s[2][2] == '.' && ((s[0][2] == c&&s[1][2] == c) || (s[2][0] == c&&s[2][1] == c) || (s[0][0] == c&&s[1][1] == c)))
flag = 1;
else if (s[0][0] == '.' && (s[1][0] == '.' || s[2][0] == '.') && (s[1][0] == c || s[2][0] == c) && (s[0][1] == '.' || s[0][2] == '.') && (s[0][1] == c || s[0][2] == c))
flag = 1;
else if (s[1][0] == '.' && (s[0][0] == '.' || s[2][0] == '.') && (s[0][0] == c || s[2][0] == c) && (s[1][1] == '.' || s[1][2] == '.') && (s[1][1] == c || s[1][2] == c))
flag = 1;
else if (s[2][0] == '.' && (s[0][0] == '.' || s[1][0] == '.') && (s[0][0] == c || s[1][0] == c) && (s[2][1] == '.' || s[2][2] == '.') && (s[2][1] == c || s[2][2] == c))
flag = 1;
else if (s[0][1] == '.' && (s[0][0] == '.' || s[0][2] == '.') && (s[0][0] == c || s[0][2] == c) && (s[1][1] == '.' || s[2][1] == '.') && (s[1][1] == c || s[2][1] == c))
flag = 1;
else if (s[1][1] == '.' && (s[1][0] == '.' || s[1][2] == '.') && (s[1][0] == c || s[1][2] == c) && (s[0][1] == '.' || s[2][1] == '.') && (s[0][1] == c || s[2][1] == c))
flag = 1;
else if (s[2][1] == '.' && (s[2][0] == '.' || s[2][2] == '.') && (s[2][0] == c || s[2][2] == c) && (s[0][1] == '.' || s[1][1] == '.') && (s[0][1] == c || s[1][1] == c))
flag = 1;
else if (s[0][2] == '.' && (s[0][0] == '.' || s[0][1] == '.') && (s[0][0] == c || s[0][1] == c) && (s[1][2] == '.' || s[2][2] == '.') && (s[1][2] == c || s[2][2] == c))
flag = 1;
else if (s[1][2] == '.' && (s[1][0] == '.' || s[1][1] == '.') && (s[1][0] == c || s[1][1] == c) && (s[0][2] == '.' || s[2][2] == '.') && (s[0][2] == c || s[2][2] == c))
flag = 1;
else if (s[2][2] == '.' && (s[2][0] == '.' || s[2][1] == '.') && (s[2][0] == c || s[2][1] == c) && (s[0][2] == '.' || s[1][2] == '.') && (s[0][2] == c || s[1][2] == c))
flag = 1;
else if (s[0][0] == '.' && (s[1][0] == '.' || s[2][0] == '.') && (s[1][0] == c || s[2][0] == c) && (s[1][1] == '.' || s[2][2] == '.') && (s[1][1] == c || s[2][2] == c))
flag = 1;
else if (s[0][0] == '.' && (s[0][1] == '.' || s[0][2] == '.') && (s[0][1] == c || s[0][2] == c) && (s[1][1] == '.' || s[2][2] == '.') && (s[1][1] == c || s[2][2] == c))
flag = 1;
else if (s[0][2] == '.' && (s[0][0] == '.' || s[0][1] == '.') && (s[0][0] == c || s[0][1] == c) && (s[1][1] == '.' || s[2][0] == '.') && (s[1][1] == c || s[2][0] == c))
flag = 1;
else if (s[0][2] == '.' && (s[1][1] == '.' || s[2][0] == '.') && (s[2][0] == c || s[1][1] == c) && (s[1][2] == '.' || s[2][2] == '.') && (s[1][2] == c || s[2][2] == c))
flag = 1;
else if (s[2][0] == '.' && (s[0][0] == '.' || s[1][0] == '.') && (s[0][0] == c || s[1][0] == c) && (s[1][1] == '.' || s[0][2] == '.') && (s[2][1] == c || s[0][2] == c))
flag = 1;
else if (s[2][0] == '.' && (s[1][1] == '.' || s[0][2] == '.') && (s[0][2] == c || s[1][1] == c) && (s[2][1] == '.' || s[2][2] == '.') && (s[2][1] == c || s[2][2] == c))
flag = 1;
else if (s[2][2] == '.' && (s[2][0] == '.' || s[2][1] == '.') && (s[2][0] == c || s[2][1] == c) && (s[0][0] == '.' || s[1][1] == '.') && (s[0][0] == c || s[1][1] == c))
flag = 1;
else if (s[2][2] == '.' && (s[0][0] == '.' || s[1][1] == '.') && (s[0][0] == c || s[1][1] == c) && (s[0][2] == '.' || s[1][2] == '.') && (s[0][2] == c || s[1][2] == c))
flag = 1;
else if (s[1][1] == '.' && ((s[0][0] == c&&s[2][2] == '.' && s[0][2] == c&&s[2][0] == '.') || (s[0][0] == c&&s[2][2] == '.' && s[2][0] == c&&s[0][2] == '.')))
flag = 1;
else if (s[1][1] == '.' && ((s[2][2] == c&&s[0][0] == '.' && s[0][2] == c&&s[2][0] == '.') || (s[2][2] == c&&s[0][0] == '.' && s[2][0] == c&&s[0][2] == '.')))
flag = 1;
if (flag == 1)
printf("Kim win!\n");
else
printf("Cannot win!\n");
}
// system("pause");
return 0;
}