CodeForces 598B(循环数组)
2016-01-26 11:18
197 查看
对于循环数组的问题,就是找偏移K后位置
偏移后位置=起始位置+(相对位置+K)%(长度+1)
偏移后位置=起始位置+(相对位置+K)%(长度+1)
#include <iostream> #include <string> #include <cstring> #include <cstdlib> #include <cstdio> #include <cmath> #include <algorithm> #include <stack> using namespace std; #define mem(a,b) memset(a,b,sizeof(a)) #define pf printf #define sf scanf #define debug printf("!\n") #define INF 10000 #define MAX(a,b) a>b?a:b #define blank pf("\n") #define LL long long char str[10010],tmp[10010]; void change(int l,int r,int k) { int i,j; for(i=l-1;i<r;i++) { tmp[i] = str[i]; } for(i=l-1;i<r;i++) { int y =(i-l+1+k)%(r-l+1); str[l-1+y] = tmp[i]; } } int main() { while(~sf("%s",str)) { int n,l,r,k; sf("%d",&n); while(n--) { sf("%d%d%d",&l,&r,&k); change(l,r,k); } pf("%s\n",str); } return 0; }
相关文章推荐
- (转)Linux sort命令
- 获取 修改 CSS 样式
- DOM Exception error
- cvFilter2D() 卷积初步了解
- 黑马程序员----四-语句函数数组
- Hallo.js基于jQuery UI所见即所得的Web编辑器
- Linux下用gzip和unzip命令来压缩和解压文件的用法
- 多线程
- AndroidStudio自动导入包
- 一小时搞定DIV+CSS布局-固定页面开度布局
- ibatis 到 MyBatis区别
- oracle脚本处理数据,还原后重新处理
- Python列表解析
- 去处HTML标签
- js中匿名函数的N种写法
- form 表单处理
- 基于JavaScript如何制作遮罩层对话框
- MQTT在Linux下的体验
- 自然语言处理中的Attention Model:是什么及为什么
- IOS开发中的几种设计模式介绍