[九度][何海涛] Move!Move!!Move!!!
- 题目描述:
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
- 输入:
- 多组测试数据,每个测试数据包含一个字符序列S和非负整数K。其中S的长度不超过1000。
- 输出:
- 对应每个测试案例,输出新序列。
- 样例输入:
-
UDBOJ 4 abba 1
- 样例输出:
-
JUDBO bbaa
类似于ab要变成ba,那么(aTbT)T = ba1 #include <iostream> 2 using namespace std; 3 4 void reverse(string &s, int beg, int end) 5 { 6 if (beg >= end) 7 return; 8 9 while(beg < end) 10 { 11 char c = s[beg]; 12 s[beg] = s[end]; 13 s[end] = c; 14 beg++; 15 end--; 16 } 17 } 18 19 int main() 20 { 21 string s; 22 int k; 23 24 while(cin >> s >> k) 25 { 26 k = k % s.size(); 27 reverse(s, 0, k - 1); 28 reverse(s, k, s.size() - 1); 29 reverse(s, 0, s.size() - 1); 30 cout << s << endl; 31 } 32 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】