Problem description
  小明是个很优秀的同学,他除了特别公正外,他也很细心,当然老师肯定也知道,这不,老师又有事情找他帮忙了,老师每周都会给他一个字符串A,然后问小明“A字符串的循环移位产生的所有字符串中,字典序最小的是哪个”,于是小明屁颠屁颠的一个一个比对,但是长久下来,小明实在是受不了了,所以他想请你帮帮他。同样,你帮他解决,你就会多AC一个题目。
Hint:
如果A字符串为bcda,那么其所有的循环移位的新字符串有cdab,dabc,abcd,和他自己bcda一共四个,然后在这四个中,字典序最小的为abcd,那么输出这个字符串中的第一次字符在原字符串中的位置,为3,如果有多个结果,输出数字最小的。
 
Input
  输入有T组, 以后每组第一行有一个字符串S,长度<=5000000,都是小写字母。
 
Output
  对于每一个case,输出结果。
 
Sample Input
4
bcda
aaa
a
adab
Sample Output
3
0
0
2
Problem Source
  HUNNU Contest 
#include<iostream>
#include<stdlib.h>
#include<string.h>
//#include<cstdin>
using namespace std;
const int N=5000000+10;
char a[N];
void solve(){int len=strlen(a);int i=0,j=1,k=0;while(i<len&&j<len&&k<len){
//      printf("%d %d %d\n",i,j,len);int s= a[(i+k)%len]-a[(j+k)%len];if(s==0){k++;continue;}else if(s>0){i+=k+1;k=0;}else{j+=k+1;k=0;}if(i==j){j++;}}if(i<j){printf("%d\n",i);}else{printf("%d\n",j);}}
int main(){int n;
//  freopen("in.txt","r",stdin);scanf("%d",&n);
//  getchar();while(n--){scanf("%s",a);solve();}return 0;
}

注意取余

另外,每次比完之后,换一个新的位置继续比

有多余空格,最好不要用gets

小明的烦恼——找字符串相关推荐

  1. hunnu11543:小明的烦恼——分糖果

    Problem description   小明在班里一直是个非常公正的孩子.这点同学和老师都非常清楚,这不,老师每周都会从家里带来一些糖果.然后叫小明把糖果分给其它小朋友,但这个班里的同学都有一个非 ...

  2. 小明历险记:规则引擎drools教程一

    小明是一家互联网公司的软件工程师,他们公司为了吸引新用户经常会搞活动,小明常常为了做活动加班加点很烦躁,这不今天呀又来了一个活动需求,我们大家一起帮他看看. 小明的烦恼 活动规则是根据用户购买订单的金 ...

  3. HDU - 4511 小明系列故事——女友的考验(AC自动机+dp)

    题目链接:点击查看 题目大意:小明在点 1 而小明的女朋友在点 n ,现在小明要去找女朋友,满足以下两个条件: 途径的序号满足严格递增 小明的女朋友给小明提出了 m 条路径是不允许走的 在满足上述两条 ...

  4. 小明系列问题――小明序列(LIS)

    小明系列问题――小明序列 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit ...

  5. hdu4521 小明系列的问题——小明序列(LIS变种 (段树+单点更新解决方案))

    链接: huangjing 题目:中文题目 思路: 1:这个题目假设去掉那个距离大于d的条件,那么必定是一个普通的LIS.可是加上那个条件后就变得复杂了.我用的线段树的解法. . .就是採用延迟更新的 ...

  6. HDU 4521 小明系列问题——小明序列 LIS+动态规划

    HDU 4521小明系列问题--小明序列 Time Limit:1000MS    Memory Limit:32768KB    64bit IO Format:%I64d & %I64u ...

  7. 赛码网: 小明很喜欢打字,今天小红给了小明一个字符串。

    题目 时间限制: 3000MS 内存限制: 589824KB 题目描述: 小明很喜欢打字,今天小红给了小明一个字符串. 这个字符串只包含大写和小写字母. 我们知道,按下CapsLock键,可以切换大小 ...

  8. 小明拿了一百块钱买了三块钱的东西,老板找他97块钱, 请问,老板有多少种找法(1元,五元,十元,20元,50元)

    public class Test08{ /** 小明拿了一百块钱买了三块钱的东西,老板找他97块钱,请问,老板有多少种找法(1元,五元,十元,20元,50元)*/public static void ...

  9. 2021-12-08:扑克牌中的红桃J和梅花Q找不到了,为了利用剩下的牌做游戏,小明设计了新的游戏规则: 1) A,2,3,4....10,J,Q,K分别对应1到13这些数字,大小王对应0; 2) 游

    2021-12-08:扑克牌中的红桃J和梅花Q找不到了,为了利用剩下的牌做游戏,小明设计了新的游戏规则: A,2,3,4-10,J,Q,K分别对应1到13这些数字,大小王对应0; 游戏人数为2人,轮流 ...

最新文章

  1. kubernetes 清理日志命令_Kubernetes之容器数据写满磁盘解决方法
  2. fedora25安装virtualbox虚拟机
  3. matlab遗传算法无人机问题,基于改进遗传算法的无人机路径规划
  4. FeignClient调用服务及上传文件的注意点及问题
  5. 高并发编程_高并发编程系列:全面剖析Java并发编程之AQS的核心实现
  6. LeetCode(944)——删列造序(JavaScript)
  7. Codeforces Round #666 (Div. 2)D. Stoned Game(博弈问题)
  8. bzoj1042硬币购物
  9. Android 从相冊获取近期拍摄的多张照片(获取相机拍照所存储的照片)
  10. React Natvie Fetch工具类
  11. Java基础——集合List+Set+泛型+Map
  12. JAVA获取word书签内容_Java 操作Word书签(一):添加、删除、读取书签
  13. WSL2 网络异常排查 [ping 不通、网络地址异常、缺少默认路由、被宿主机防火墙拦截]
  14. 计算机网络之网络安全基础-消息完整性与数字签名
  15. 我们是怎么简单打开百度的?
  16. python代码编辑器
  17. 我的世界服务器皮肤显示怎么用,我的世界皮肤站怎么用 皮肤站使用方法介绍...
  18. [oeasy]python0125_汉字打印机_点阵式打字机_汉字字形码
  19. excel智能提取_Excel智能艺术家谱
  20. 关于中断的分类和优先级(优先级由高到低排序)

热门文章

  1. FreeMind打开提示This application requires Java Runtime Environment XX
  2. 需求DNA检测:如何判断一个功能是否值得做
  3. Android 与 Chrome OS 中针对大屏幕设备的更新
  4. 2019蓝桥杯国赛E-第八大奇迹
  5. Python学习,第一课(基础知识,利用urllib库入门)
  6. Richard Stallman 的自由软件思想
  7. 公众号 接入微信支付
  8. 罗玉凤(凤姐)在网上评论说华为早就该垮了!大家怎么看?
  9. php 屏蔽浸膏,干浸膏含水量每100g约为
  10. 亚马逊Facebook头条布局社交电商的焦虑