A1877 | Moo
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
奶牛 Bessie 最近在学习字符串操作,它用如下的规则逐一的构造出新的字符串:
$S(0) =$
$S(1) = S(0) +$
$S(2) = S(1) +$
$\dots$
Bessie 就这样产生字符串,直到最后产生的那个字符串长度不小于读入的整数 $N$ 才停止。
通过上面观察,可以发现第 $k$ 个字符串是由:第 $k-1$ 个字符串 $+$
现在的问题是:给出一个整数 $N (1 \leq N \leq 10^9)$,问第 $N$ 个字符是字母
$S(0) =$
moo$S(1) = S(0) +$
m $+$ ooo $+ S(0) =$ moo $+$ m $+$ ooo $+$ moo $=$ moomooomoo$S(2) = S(1) +$
m $+$ oooo $+ S(1) =$ moomooomoo $+$ m $+$ oooo $+$ moomooomoo $=$ moomooomoomoooomoomooomoo$\dots$
Bessie 就这样产生字符串,直到最后产生的那个字符串长度不小于读入的整数 $N$ 才停止。
通过上面观察,可以发现第 $k$ 个字符串是由:第 $k-1$ 个字符串 $+$
m $+$ $(k+2$ 个 $o) +$ 第 $k-1$ 个字符串连接起来的。现在的问题是:给出一个整数 $N (1 \leq N \leq 10^9)$,问第 $N$ 个字符是字母
m 还是 o?输入格式
一个正整数 $N$。
输出格式
一个字符,
m 或者 o。输入输出样例
输入 #1
11
输出 #1
m
样例解释:
由题目所知:字符串 $S(0)$ 是
同样 $S(1)$ 的长度是 $10$,也不够长;$S(2)$ 的长度是 $25$,够长了,$S(2)$ 的第 $11$ 个字符是
由题目所知:字符串 $S(0)$ 是
moo, 现在要求第 $11$ 个字符,显然字符串 $S(0)$ 不够长;同样 $S(1)$ 的长度是 $10$,也不够长;$S(2)$ 的长度是 $25$,够长了,$S(2)$ 的第 $11$ 个字符是
m,所以答案就输出 m。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?