题解 CF1173B 【Nauuo and Chess】

ouuan

2019-06-08 13:47:53

Solution

1. $m\ge\left\lfloor\frac n 2\right\rfloor+1$ $\because\begin{cases}|r_1-r_n|+|c_1-c_n|\ge n-1\\|r_1-r_n|\le m-1\\|c_1-c_n|\le m-1\end{cases}$ $\therefore m-1+m-1\ge n-1$ $\therefore m\ge\frac{n+1}2$ $\because m\text{是整数}$ $\therefore m\ge\left\lfloor\frac n 2\right\rfloor+1$ 2. $m$ 可以取到 $\left\lfloor\frac n 2\right\rfloor+1$ 在每一斜行放一颗棋子即可,即:$r_i+c_i=i+1$。因为 $|r_i-r_j|+|c_i-c_j|\ge|r_i+c_i-r_j-c_j|$。 ```cpp #include <cstdio> using namespace std; int main() { int n, i, ans; scanf("%d", &n); ans = n / 2 + 1; printf("%d", ans); for (i = 1; i <= ans; ++i) printf("\n%d 1", i); for (i = 2; i <= n - ans + 1; ++i) printf("\n%d %d", ans, i); return 0; } ```