#THU20261A. 奥林匹克五子棋

    ID: 688 Type: Default 1000ms 256MiB Tried: 4 Accepted: 1 Difficulty: 3 Uploaded By: Tags>清华推研机试考研环境测试搜索思维其他构造

奥林匹克五子棋

时间限制: 1.0 秒

空间限制: 256 MB

题目描述

各位观众,各位观众,您现在收看的是第 666 届跳蚤奥运会的比赛现场。在刚刚的跳高比赛中,天才跳高小将“最强跳蚤”靠着“最强跳蚤跳跳跳”和经验丰富的伏特跳蚤国王大战了三天三夜,最后战成 233:233233:233 平。考虑到迟迟不能决出胜者,比赛组委会决定临时更换比赛项目,而被选中的则是在跳蚤大陆流行已久的游戏——五子棋。

五子棋是 Picks 博士发明的一款益智类游戏。为了加大难度,这里的五子棋实则是 “kk 子棋”。

游戏规则很简单,游戏双方分别使用黑白两色的棋子,下在 n×mn \times m 的棋盘上,先形成 kk 子连成一条直线的一方获胜。即,若己方有连续的 kk 个棋子形成方向为上下、左右、左上右下、左下右上四个方向之一的直线,就可以获得胜利。

但没想到的是,“最强跳蚤”和伏特跳蚤国王不仅跳得比谁都高,知识水平也是不相上下。啊我们看到,在第 66 局他们再一次打成了平局……

现在是我们的有奖竞猜环节!大家可以来猜猜下一个平局是怎么产生的呢?最早给出答案的观众可以获得小火车一列哦。

现在,你作为一名观众想参与到竞猜环节中。但首先,你需要构造一个下棋过程使得填满整个棋盘之后也没有连续 kk 个同色棋子在这四个方向上排成一条直线。

注意,n×mn \times m 可能为奇数,此时先手会比后手多下一步棋。

输入格式

从标准输入读入数据。

第一行三个整数 n,m,kn,m,k,意义如前所述。

输出格式

输出到标准输出。

如果双方不能打成平局,输出 1-1

否则输出 n×mn \times m 行,第 ii 行两个整数 xi,yix_i, y_i 表示第 ii 次落子的坐标为第 xix_i 行第 yiy_i 列。黑子先行,所以 ii 为奇数时为黑方落子,ii 为偶数时白方落子。坐标需满足 1xin,1yim1 \le x_i \le n, 1 \le y_i \le m

4 4 3
1 2
1 1
1 4
1 3
2 1
2 3
2 2
2 4
3 3
3 2
3 4
3 1
4 1
4 4
4 3
4 2

样例 1 解释

样例 1 的参考输出最终得到的棋盘如下:

1 0 1 0
0 0 1 1
1 1 0 0
0 1 0 1

其中 0 为先手,1 为后手。

2 3 3
1 1
2 1
2 2
1 2
1 3
2 3

子任务

对于所有数据,保证 1k109, 1n,m5001\le k\le 10^9,\ 1\le n,m\le 500

本题采用捆绑测试,你只有通过一个子任务中的所有测试点才能得到该子任务的分数。

子任务编号 分值 限制
1 30 2n,m42\le n,m\le 4
2 15 min(n,m)=1\min(n,m)=1
3 n,m2, min(n,m)<kn,m\ge 2,\ \min(n,m)<k
4 40 n,m2n,m\ge 2