CF999B Reversing Encryption 题解
2024-10-19 19:00:39
Content
给一个长度为 \(n\) 的字符串 \(s\),执行以下操作:
- 降序遍历 \(n\) 的所有因子(从 \(n\) 到 \(1\))。
- 对于每一个因子 \(i\) 翻转字符串 \(s_{[1,i]}\)。
现在给出操作后的字符串,求原字符串。
数据范围:\(1\leqslant n\leqslant 100\)。
Solution
既然原来的操作是降序遍历因子,那么还原的时候不正是升序遍历因子吗?所以,按照逆推的思想,我们可以按照下面的操作模拟:
- 升序遍历 \(n\) 的所有因子(从 \(1\) 到 \(n\))。
- 对于每一个因子 \(i\) 翻转字符串 \(s_{[1,i]}\)。
操作完以后的字符串就是我们想要的原字符串了。
Code
int n;
string s;
int main() {
getint(n); cin >> s;
_for(i, 2, n) {
if(!(n % i))
for(int l = 0, r = i - 1; l <= r; ++l, --r)
swap(s[l], s[r]);
}
cout << s;
return 0;
}
最新文章
- nodeType的返回
- 一段能导致火狐、谷歌Safari浏览器崩溃,甚至让iPhone重启的代码
- 利用BMFont和NGUI制作字体集
- recycleview + checkbox 实现单选
- linux安全
- LeetCode38 Count and Say
- sql2008_x64 读取excel
- Linux用户与用户组的详解
- vim-配置文件
- nodejs 语法学习(持续更新)
- Android与Linux内核的对应关系
- mpvue——引入antv-F2图表
- http stream
- Python 练习: 简单角色游戏程序
- 被弃用的php函数以及被那个代替
- django的类视图-11
- mysql的force index
- BigDecimal常用方法
- HDUOJ------------1051Wooden Sticks
- 程序编译是出现";field has incomplete type";问题的解决
热门文章
- AOP声明式事务
- Java异常与错误
- 压力测试工具——apchebench(简称ab)
- Deep Learning(深度学习)整理,RNN,CNN,BP
- 01 eclipse搭建maven的web工程(3.1)
- typedef定义数组
- A Child&#39;s History of England.4
- 【1】Embarrassingly Parallel(易并行计算问题)
- C++构造函数和析构函数初步认识(2)
- Java发HTTP POST请求(内容为xml格式)