题目描述
给定一个 n,最开始序列长这样:
n 个 1111⋯11n 个 0000⋯00__现在要求用最少的交换步数,使得最终的序列为
2×n 个 01 交替排列101010⋯1010__所谓交换是指将相邻两个非空格的数一起挪到两个空格上。
例如,下面是 n=4 时的一组合法解:
- 初始状态:11110000__。
- 第 1 步:__11000011。
- 第 2 步:101__00011。
- 第 3 步:1010100__1。
- 第 4 步:10101__001。
- 第 5 步:10101010__。
可以证明,最少的操作次数就是 5 步。
输入格式
输入共一行一个整数 n。
输出格式
第一行输出最少移动步数。
接下来一行为移动方案,只要输出被移动的两个非空格格子左边那个的编号。详见样例。
提示
对于 100% 的数据,2<n≤2×105。