[ssfz联测] A. 汉诺塔

[ssfz联测] A. 汉诺塔

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

汉诺塔是一个经典游戏,下面是简单的规则介绍

有三根柱子和 \(n\) 个大小不同的圆盘。

初始时,\(n\) 个圆盘都按照从大到小的顺序叠放在一号柱子上。

每次操作可以拿起一个圆盘,放到一根柱子上面,目标是将所有的圆盘从一号柱子移动到二号柱子。

在移动过程中,永远保持大盘子在下面,小盘子在上面。

\(n\) 层汉诺塔需要的操作次数是经典的问题。

Alice在汉诺塔游戏中作弊,他可以拿起一个圆盘后,另一只手可以再拿起一个圆盘,然后可以放下任意一个圆盘。简单说,Alice用两个手玩汉诺塔,手上可以寄存圆盘。

比如 \(n=2\) 的情况下,如果不作弊把两个圆盘从一号柱子转移到二号柱子,你需要把小圆盘放到三号柱子上,再把大圆盘放到二号柱子,最后把小圆盘放到二号柱子,总共三次操作。

但是Alice可以拿起两个圆盘,再把大圆盘放到二号柱子,小圆盘放到二号柱子,总共两次操作。

Alice想知道他在作弊的情况下, \(n\) 层汉诺塔需要最少多少次操作,注意一次拿起算一次操作。

因为有可能操作次数很多,你只要算出操作次数模 \(998244353\) 下的结果即可。

输入格式

输入包含一个整数 \(n\) 。

输出格式

输出一个整数表示最少操作次数模 \(998244353\) 意义下的结果。

样例 #1

样例输入 #1

3

样例输出 #1

4

样例 #2

样例输入 #2

5

样例输出 #2

10

样例 #3

样例输入 #3

114514

样例输出 #3

74477100

数据规模

对于 \(30\%\) 的数据满足 \(n \le 3\) 。

对于另外 \(30\%\) 的数据满足 \(n \le 10\) 。

对于另外 \(20\%\) 的数据满足 \(n \le 10^6\) 。

对于全部数据满足 \(1 \le n \le 10^9\) 。

下发文件

ssfz联测 下发文件

SSFZ联测 重现赛

未参加
状态
已结束
规则
OI
题目
4
开始于
2024-11-17 07:30
结束于
2024-11-17 11:30
持续时间
4.0 小时
主持人
参赛人数
2