井字棋穷举法,但是只有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 湖南

相关推荐

不愿透露姓名的神秘牛友
07-02 17:58
点赞 评论 收藏
分享
05-11 20:45
门头沟学院 Java
有担当的灰太狼又在摸...:零帧起手查看图片
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
07-07 14:30
复旦大学 Java
遇到这种人我也不知道说啥了
正义执行官:人家能回你就不错了,自己不主动去问,等着天上掉馅饼,想啥呢哥们
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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