井字棋穷举法,但是只有20%,不知道漏了什么

#include <stdio.h>

#include <math.h>

int main()

{

int T;

scanf_s("%d", &T);

for (int hh = 0; hh < T; hh++)

{

int to = 0, tg = 0, tx = 0;

char arr[3][5];

scanf_s("%s", arr[0], sizeof(arr[0]));

scanf_s("%s", arr[1], sizeof(arr[1]));

scanf_s("%s", arr[2], sizeof(arr[2]));

for (int h1 = 0; h1 < 3; h1++)

{

for (int h2 = 0; h2 < 3; h2++)

{

if (arr[h1][h2] == 'O') { to++; }

else if (arr[h1][h2] == 'X') { tx++; }

else { tg++; }

}

}

if (tg == 7 || tg == 5 || tg == 9) { printf("Yes\n"); }

else if (tg == 3)

{

if (((arr[0][0] == 'G' && arr[0][1] == 'G' && arr[0][2] == 'G') || (arr[0][0] == 'G' && arr[1][0] == 'G' && arr[2][0] == 'G') || (arr[2][2] == 'G' && arr[1][2] == 'G' && arr[0][2] == 'G') || (arr[2][0] == 'G' && arr[2][1] == 'G' && arr[2][2] == 'G'))&&arr[1][1]!='X')

{

printf("No\n");

}

else if (arr[0][1] == 'G' && arr[1][1] == 'G' && arr[2][1] == 'G')

{

if ((arr[0][0] == 'X' && arr[2][2] == 'X') || (arr[1][0] == 'X' && arr[1][2] == 'X') || (arr[2][0] == 'X' && arr[0][2] == 'X') || (arr[0][0] == 'X' && arr[0][2] == 'X') || (arr[2][0] == 'X' && arr[2][2] == 'X'))

{

printf("Yes\n");

}

else { printf("No\n"); }

}

else if (arr[1][0] == 'G' && arr[1][1] == 'G' && arr[1][2] == 'G')

{

if ((arr[0][0] == 'X' && arr[2][2] == 'X') || (arr[0][1] == 'X' && arr[2][1] == 'X') || (arr[0][2] == 'X' && arr[2][0] == 'X') || (arr[0][0] == 'X' && arr[2][0] == 'X') || (arr[0][2] == 'X' && arr[2][2] == 'X'))

{

printf("Yes\n");

}

else { printf("No\n"); }

}

else if (arr[0][0] == 'G' && arr[1][1] == 'G' && arr[2][2] == 'G')

{

if ((arr[0][1] == 'X' && arr[1][2] == 'X' && arr[2][0] == 'X')|| (arr[0][1] == 'O' && arr[1][2] == 'O' && arr[2][0] == 'O'))

{

printf("No\n");

}

else { printf("Yes\n"); }

}

else if (arr[0][2] == 'G' && arr[1][1] == 'G' && arr[2][0] == 'G')

{

if ((arr[0][1] == 'X' && arr[1][0] == 'X' && arr[2][2] == 'X') || (arr[0][1] == 'O' && arr[1][0] == 'O' && arr[2][2] == 'O'))

{

printf("No\n");

}

else { printf("Yes\n"); }

}

else { printf("Yes\n"); }

}

else

{

if (arr[1][1] == 'G')

{

if ((arr[0][0] == 'X' && arr[2][2] == 'X') || (arr[1][0] == 'X' && arr[1][2] == 'X') || (arr[0][2] == 'X' && arr[2][0] == 'X') || (arr[0][1] == 'X' && arr[2][1] == 'X'))

{

printf("Yes\n");

}

else { printf("No\n"); }

}

else if (arr[0][0] == 'G')

{

if ((arr[1][0] == 'X' && arr[2][0] == 'X') || (arr[0][1] == 'X' && arr[0][2] == 'X') || (arr[1][1] == 'X' && arr[2][2] == 'X'))

{

printf("Yes\n");

}

else { printf("No\n"); }

}

else if (arr[0][2] == 'G')

{

if ((arr[1][2] == 'X' && arr[2][2] == 'X') || (arr[0][1] == 'X' && arr[0][0] == 'X') || (arr[1][1] == 'X' && arr[2][0] == 'X'))

{

printf("Yes\n");

}

else { printf("No\n"); }

}

else if (arr[2][0] == 'G')

{

if ((arr[1][0] == 'X' && arr[0][0] == 'X') || (arr[1][1] == 'X' && arr[0][2] == 'X') || (arr[2][1] == 'X' && arr[2][2] == 'X'))

{

printf("Yes\n");

}

else { printf("No\n"); }

}

else if (arr[2][2] == 'G')

{

if ((arr[2][1] == 'X' && arr[2][0] == 'X') || (arr[0][2] == 'X' && arr[1][2] == 'X') || (arr[1][1] == 'X' && arr[0][0] == 'X'))

{

printf("Yes\n");

}

else { printf("No\n"); }

}

else if (arr[0][1] == 'G')

{

if ((arr[0][0] == 'X' && arr[0][2] == 'X') || (arr[1][1] == 'X' && arr[2][1] == 'X'))

{

printf("Yes\n");

}

else { printf("No\n"); }

}

else if (arr[1][0] == 'G')

{

if ((arr[0][0] == 'X' && arr[2][0] == 'X') || (arr[1][1] == 'X' && arr[1][2] == 'X'))

{

printf("Yes\n");

}

else { printf("No\n"); }

}

else if (arr[1][2] == 'G')

{

if ((arr[0][2] == 'X' && arr[2][2] == 'X') || (arr[1][1] == 'X' && arr[1][0] == 'X'))

{

printf("Yes\n");

}

else { printf("No\n"); }

}

else if (arr[2][1] == 'G')

{

if ((arr[0][1] == 'X' && arr[1][1] == 'X') || (arr[2][0] == 'X' && arr[2][2] == 'X'))

{

printf("Yes\n");

}

else { printf("No\n"); }

}

}

}

return 0;

}

全部评论
考虑下面的例子。 输入 1 XXG OOG XOG 正确输出 Yes 你的程序的输出 No
点赞 回复 分享
发布于 02-09 15:41 香港
我也是20%过样例, 后面考虑了一下全是G没有X和O的情况, 就过了
点赞 回复 分享
发布于 02-08 19:36 福建
是怎么看到过百分之多少样例的?
点赞 回复 分享
发布于 02-08 18:06 江苏
我E刚结束才出来的枯了
点赞 回复 分享
发布于 02-08 18:03 湖南
少了一种情况,L型
点赞 回复 分享
发布于 02-08 18:03 湖南

相关推荐

驼瑞驰_招募评论官版...:一共经历几次握手?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务