Problem 1490 五子棋. 思路 AC的思路 最后一步落子的人,一定是胜利的人! 第一个版本的思路WA 二维数组存放棋局:0表示该位置没有棋子,B表示是黑子,W表示是白子 ① 读入数组fir[20][20] ② 从上往下,左往右遍历每个位置: a.该位置(向右)有4个同色棋子——第五个位置也同色/两侧没有不同色的棋子,返回true b.该位置(向下)有4个同色棋子——第五个位置也同色/两侧没有不同色的棋子,返回true c.该位置(向左下)有4个同色棋子——第五个位置也同色/两侧没有不同色的棋子,返回true d.该位置(向右下)有4个同色棋子——第五个位置也同色/两侧没有不同色的棋子,返回true WA点不明……样例都能跑啊哭,然后我去看了一下题解,瞬间怀疑人生脑袋没了! 代码 AC版本 #include<cstdio> #include<string.h> using namespace std; char color[2] = { 'B', 'W'}; int main(){ char op[4], ans; int sum; while(scanf("%s", op)!=EOF){ sum = 0; while(strcmp(op, "END")!=0){ ans = color[sum%2]; sum++; scanf("%s", op); } printf("%c %d\n", ans, sum); } return 0; } WA版(哪天闲着没事干再改改) #include<cstdio> #include<string.h>