博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
题目1362:左旋转字符串(Move!Move!!Move!!!)
阅读量:5961 次
发布时间:2019-06-19

本文共 1671 字,大约阅读时间需要 5 分钟。

题目1362:左旋转字符串(Move!Move!!Move!!!)

时间限制:2 秒

内存限制:32 兆

特殊判题:

提交:2306

解决:961

题目描述:
汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
输入:
多组测试数据,每个测试数据包含一个字符序列S和非负整数K。其中S的长度不超过1000。
输出:
对应每个测试案例,输出新序列。
样例输入:
UDBOJ 4abba 1
样例输出:
JUDBObbaa
答疑:
解题遇到问题?分享解题心得?讨论本题请访问:
最开始写的时候多写了一层判断,于是一直时间超限,后来改了,去掉判断就AC了
开始的代码
#include
#include
#include
#include
#include
#include
using namespace std;#define maxn 1010char str[1010];char s[1010];int main(){ int n; while(~scanf("\n%s %d",&str,&n)) { n = n%strlen(str); int i; for(i=0;i
=0) s[i-n] = str[i]; else s[i-n+strlen(str)] = str[i]; } s[i] = '\0'; printf("%s\n",s); } return 0;}

后来AC的

#include
#include
#include
#include
#include
#include
using namespace std;#define maxn 1010char str[1010];char s[1010];int main(){ int n; while(~scanf("\n%s %d",&str,&n)) { n = n%strlen(str); int i; for(i=0;i

用了很多时间,于是看了下其他人的代码,其实都差不多,却只用了70MS,我用了1250MS

#include
#include
int main(){ char str[2000]; int len,k,i,loc; while(scanf("%s",str)!=EOF){ char str2[2000]; len=strlen(str); scanf("%d",&k); loc=0; for(i=(k%len);i

 

转载于:https://www.cnblogs.com/l609929321/p/6601585.html

你可能感兴趣的文章
js中var self=this的解释
查看>>
面试题
查看>>
Facebook 接入之获取各个配置参数
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
事情的两面性
查看>>
只要会营销,shi都能卖出去?
查看>>
sed单行处理命令奇偶行输出
查看>>
VC++深入详解学习笔记1
查看>>
安装配置discuz
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>
《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1-正确认识软件架构...
查看>>
2013 Linux领域年终盘点
查看>>
linux学习之查看程序端口占用情况
查看>>
相逢在栀枝花开的季节
查看>>
linux下git自动补全命令
查看>>
Ubuntu14.04LTS更新源
查看>>
Linux报“Unknown HZ value! (288) Assume 100”错误
查看>>
mysql多实例实例化数据库
查看>>