合并香蕉
题目背景
![](https://cdn.luogu.com.cn/upload/image_hosting/xi3q8vw1.png)
题目描述
有 $n$ 条大香蕉,第 $i$ 条大香蕉可简化为一个正整数二元组 $(a_i,k_i)$,其中 $2\le k_i\le 10$。
初始时有 $n$ 堆大香蕉,第 $i$ 堆只包含第 $i$ 条大香蕉。
每次可以选择不同的两堆合并,合并时会损耗香蕉的大小。
具体地,如果第 $i$ 条香蕉**参与了合并**,则其大小 $a_i$ 会变为原来的 $\frac{1}{k_i}$ 倍。
**参与了合并**:合并前在两堆香蕉中的某一堆中。
你想把大香蕉们合为一堆,由于香蕉越大越好,你需要让操作结束后所有的 $a_i$ 之和**越大越好**。
考虑到求出最优解可能会比较困难,你只需要**尽可能接近标准答案**即可,具体参见**评分标准**。
为了防止你乱输出一个数,你还需要**输出方案**,具体参见**输出格式**。
输入输出格式
输入格式
第一行一个正整数代表 $n$。
接下来 $n$ 行,每行两个正整数代表 $a_i,k_i$。
输出格式
输出 $n-1$ 行,每行两个数 $x,y$ 代表合并第 $x$ 堆和第 $y$ 堆。
对于第 $i$ 次合并,我们记新形成的香蕉堆是第 $n+i$ 堆,而原来的两个香蕉堆(第 $x$ 堆、第 $y$ 堆)从此将**被视为不存在** ,所以之后的合并中不允许调用 $x$ 和 $y$,否则你将会爆零。
输入输出样例
输入样例 #1
3
1 10
27 3
32 2
输出样例 #1
1 2
4 3
说明
### 样例解释
该样例输出对应的操作结束后满足 $a=(0.01,3,16)$,对应的 $a_i$ 之和为 $19.01$。
另外,如果输出如下,则操作结束后满足 $a=(0.01,9,8)$,对应的 $a_i$ 之和为 $17.01$,可以获得 $4$ 分。
```
1 3
2 4
```
### 评分标准
对于每个测试点,我们采用如下方式评分:
- 如果你的输出不合法,得 $0$ 分。
- 否则设你输出的方案对应的操作结束后的 $a_i$ 之和为 $f$,标准答案输出的方案对应的操作结束后的 $a_i$ 之和为 $ans$,则你的得分 $s=\lfloor \max\{0,10-\log_{10} \max\{1,\frac{ans-f}{\epsilon}\}\}\rfloor$ 分,其中 $\epsilon=10^{-5}$。
### 数据范围
本题共有 $10$ 个测试点,每个测试点 $10$ 分。
| 测试点编号 | $n=$ | 特殊性质 |
| :----------: | :----------: | :----------: |
| $1$ | $3$ | 无 |
| $2$ | $5$ | 无 |
| $3$ | $10$ | 无 |
| $4$ | $20$ | 无 |
| $5$ | $100$ | 无 |
| $6$ | $10^3$ | 无 |
| $7$ | $10^5-3$ | $a_i=1$ 且 $k_i=2$ |
| $8$ | $10^5-2$ | $a_i=1$ |
| $9$ | $10^5-1$ | $k_i=2$ |
| $10$ | $10^5$ | 无 |
对于所有数据,保证 $3\le n\le 10^5$,$1\le a_i\le 10^5$,$2\le k_i\le 10$。