#W1027. 消息轰炸
消息轰炸
题目背景
kkw 最近迷上了给朋友发消息轰炸。他发现如果单纯靠手动一个一个字敲,效率实在是太低了。为了能在最短时间内发送出指定长度 的重复字符,他开始研究如何合理利用键盘上的“复制”和“粘贴”功能。kkw 想知道,在只使用特定几种操作的情况下,最少需要多少步才能达成目标。
题目描述
你面前有一个初始为空的屏幕。你的目标是在屏幕上得到正好 个相同的字符。
你可以执行以下三种操作:
- 全选并复制:将当前屏幕上的所有字符复制到剪贴板(这会覆盖剪贴板中原有的内容)。
- 粘贴:将当前剪贴板中的字符粘贴到屏幕上。
- 输入单个字符:直接在屏幕上输入一个字符。
任务:给定目标字符长度 ,求达成该长度所需的最少操作次数。
输入格式
一个整数 ,表示目标字符串的长度()。
输出格式
一个整数,表示达成目标长度所需的最少操作次数。
样例
3
3
6
5
样例解释
对于样例 1():
- 操作 1:输入 1 个字符(屏幕:1,剪贴板:空)
- 操作 2:输入 1 个字符(屏幕:2,剪贴板:空)
- 操作 3:输入 1 个字符(屏幕:3,剪贴板:空) 最少需要 3 步。
对于样例 2():
- 操作 1:输入 1 个字符(屏幕:1,剪贴板:空)
- 操作 2:输入 1 个字符(屏幕:2,剪贴板:空)
- 操作 3:全选并复制(屏幕:2,剪贴板:2)
- 操作 4:粘贴(屏幕:4,剪贴板:2)
- 操作 5:粘贴(屏幕:6,剪贴板:2) 最少需要 5 步。