CF877C Slava and tanks

题目描述

Slava 在玩他最喜欢的游戏“Peace Lightning”。现在他正在一张非常特殊的地图上驾驶轰炸机飞行。 形式上,地图是一个大小为 $1×n$ 的格子阵,各个格子编号从 $1$ 到 $n$,每个格子里可能有一辆或多辆坦克。由于飞得很高,Slava 并不知道坦克的数量及其具体位置,但他可以向任意格子投下炸弹。该格子中的所有坦克都会受到伤害。 若坦克第一次受到伤害,会立刻移动到相邻的格子(在 $n$ 号格子的坦克只能移动到 $n-1$,在 $1$ 号格子的坦克只能移动到 $2$)。若坦克第二次受到伤害,则被视为被摧毁,并且不会再移动。坦克只有在首次受伤时才会移动,不会自行移动。 请你帮助 Slava 用尽可能少的炸弹摧毁所有坦克。

输入格式

第一行包含一个整数 $n$($2 \leq n \leq 100000$)——地图的大小。

输出格式

第一行输出 $m$——Slava 至少需要使用的炸弹数。 第二行输出 $m$ 个整数 $k_1, k_2, ..., k_m$,表示第 $i$ 枚炸弹应该投向第 $k_i$ 个格子。 如有多种答案,输出任意一种即可。

说明/提示

由 ChatGPT 5 翻译