AT_ttpc2023_a Numerous Elimination

题目描述

有 $N$ 名选手,编号为 $1, 2, \dots, N$,将参加一场比赛。 比赛场地设置了 $N$ 个队列,编号为 $0, 1, \dots, N-1$。对于第 $i$ ($0 \le i \le N-1$)号队列来说,其中站着的选手表示当前连胜了 $i$ 场。 比赛开始时,所有选手按照 $1, 2, \dots, N$ 的顺序排在第 $0$ 号队列的前面。 比赛按照以下步骤决定每位选手的最终名次: 1. 当每个队列中刚好有 $1$ 名选手时,站在队列 $i$ 的选手的最终排名是 $N-i$。此时比赛结束。 2. 在所有当前有至少 $2$ 名选手的队列中,选择编号最小的队列,标记为 $l$。 3. 从队列 $l$ 的最前面取出 $2$ 名选手,让他们进行一场比赛。胜者排到队列 $l+1$ 的队尾,败者排到队列 $0$ 的队尾。 4. 返回第 $1$ 步。 请你求出本次比赛一共进行了多少场比赛,并将结果对 $998244353$ 取模后输出。 保证比赛没有平局,且无论每场比赛的结果如何,答案都是唯一确定的。

输入格式

输入通过标准输入给出。 > $N$

输出格式

请输出答案。

说明/提示

### 样例解释 1 假设每场比赛中编号较小的选手总是获胜,则比赛流程如下所示: | 列 $0$ | 列 $1$ | 列 $2$ | 说明 | | :---------: | :---------: | :---------: | :--------| | $\underline{1, 2}, 3$ | | | 选手 $1$ 和 $2$ 比赛,$1$ 到列 $1$,$2$ 到列 $0$ | | $\underline{3, 2}$ | $1$ | | 选手 $3$ 和 $2$ 比赛,$2$ 到列 $1$,$3$ 到列 $0$ | | $3$ | $\underline{1, 2}$ | | 选手 $1$ 和 $2$ 比赛,$1$ 到列 $2$,$2$ 到列 $0$ | | $\underline{3, 2}$ | $1$ | | 选手 $3$ 和 $2$ 比赛,$2$ 到列 $1$,$3$ 到列 $0$ | | $3$ | $2$ | $1$ | 所有队列都刚好有 $1$ 人,比赛结束 | 一共进行了 $4$ 场比赛,因此输出 $4$。 ### 数据范围 - $N$ 是整数 - $1 \le N \le 10^5$ 由 ChatGPT 5 翻译