I.Link with Gomoku
构造
题目大意
“你赢得越多,你的自信就越强。你的自信越强,你就越傲慢。你越傲慢,就越容易犯错误。你犯的错误越多,你就输的越多。所以你赢的越多,你输的就越多。”
在一个 大小的棋盘上下五子棋,构造一个平局的棋盘局面。
解题思路
构造的方法并不难想,这里给出如下两种:
-
题目样例所示的:
xxxxooooxxxxoooo
ooooxxxxooooxxxx
xxxxooooxxxxoooo
ooooxxxxooooxxxx
-
我赛时所写的:
ooxooxooxoo
xxoxxoxxoxx
ooxooxooxoo
xxoxxoxxoxx
易错点在于:只关注了平局的条件,没有在意黑白子之间的数量关系
如果是偶数行,按上面方案输出; 如果是奇数行,最后一行按xoxoxox的顺序输出即可
参考程序
int solve()
{
ll m,n;
cin >> n >> m;
int flag=n&1;
if(flag) n=n-1;
FORLL(i,1,n){
if(i&1){
FORLL(j,1,m){
if(j%3) cout << 'o';
else cout << 'x';
}
}
else{
FORLL(j,1,m){
if(j%3) cout << 'x';
else cout << 'o';
}
}
cout << endl;
}
if(flag) FORLL(j,1,m){
if(j&1) cout << 'x';
else cout << 'o';
}
if(flag) cout << endl;
return 0;
}