P10172 「OICon-02」Pick Stone
题目描述
小 S 有一个 $n\times m$ 的棋盘。初始每个位置都有一个棋子。每次,小 S 可以取走一个周围(四连通)被取走棋子数不超过 $1$ 的棋子。求小 S 最多能取走多少棋子,并构造一种合法的取棋子方案。
输入格式
无
输出格式
无
说明/提示
### 样例解释
对于样例 $1$,取出 $(1,1)$ 时周围有 $0$ 个已取出位置,取出 $(1,2),(2,1)$ 时周围有 $1$ 个已取出位置,故原构造符合要求。
容易证明没有更优答案。
### 数据范围
**本题采用捆绑测试。**
| $\text{Subtask}$ | 特殊性质 | $\text{Score}$ |
|:--:|:--:|:--:|
| $1$ | $n=1$ | $20$ |
| $2$ | $n=2$ | $30$ |
| $3$ | $n=3$ | $50$ |
对于 $100\%$ 的数据:$\bm{1\leq n\leq3}$,$1\leq m\leq10^5$。
如果你答对了第一问最多能取走的棋子数而没有正确地构造,你将获得 $70\%$ 的分值。一个子任务你的得分是所有测试点得分的最小值。注意,你仍需要按格式输出 $n\times m$ 个数表示构造方案,我们推荐你全部输出 $-1$。
保证 `checker.cpp` 在符合格式要求的输出下用时不超过 $0.5$ 秒。