ZCMU-1550-AA

news/2024/12/22 20:02:12/

1550: AA

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 88   Solved: 26
[ Submit][ Status][ Web Board]

Description

 其实第一次听说要出题目我是拒绝的,因为,你不能让我出,我就马上去出,我要试一下,因为我不愿意出完了以后再加一些案例上去,然后题目duang的一下就被AC了。现在要求对字符串进行环状左移操作,每次向左移动一个位置。例如:对duang进行操作,得到的全部字符串为:

duang

uangd

angdu

ngdua

gduan

输出得到最小字典序的字符串的最小移动次数。

Input

输入一个数T(1<=T<=100),表示接下来有T行字符串;输入字符串S,S的长度为L(5<=l<=100000)。

Output

输出一个数字,表示为得到最小字典序的字符串的最小移动次数。

Sample Input

2
baabaa
alabala

Sample Output

1
6

【解析】
这道题我提交了好多次都是超时...但是呢我觉得做题目嘛主要是学东西..我是用map,结构体还有用刘汝佳老师书上的方法也试了一下还是超时...此处附上我的超时代码...其实有的时候我们不能真的为了AC而去AC。还可以直接比较..还有就是当我们用map<string,int>的时候是按照string的最小字典序来排列的所以我们也可以用map
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<map>
#include<cstring>
using namespace std;
struct E
{string zi;//结构体存储int b;
};
bool cmp(E a,E b)
{return (a.zi).compare(b.zi)<0;//两个字符串进行比较,字典序小的排在前面
}
int main()
{int t,n,i,j,k,p;string s,s1;scanf("%d",&t);while(t--){p=0;E f[100010];cin>>s;f[p].zi=s;f[p].b=0;n=s.size();for(i=1;i<=n;i++){string s1;for(j=i;j<n;j++){s1+=s[j];}for(k=0;k<i;k++){s1=s1+s[k];//获取移动的字符串}p++;f[p].zi=s1;f[p].b=i;}sort(f,f+p,cmp);//根据字典序来排序cout<<f[0].b<<endl;}return 0;
}
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<map>
#include<cstring>
using namespace std;
int main()
{int t,n,i,k;string s,s1,s3;scanf("%d",&t);while(t--){cin>>s;s3=s;k=0;n=s.size();for(i=1;i<=n;i++){string s1,s2;s1=s.substr(i,n-i);s2=s.substr(0,i);s1=s1+s2;if(s3.compare(s1)>0)//此函数用来比较字典序{s3=s1;k=i;}}printf("%d\n",k);}return 0;
}
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<map>
#include<cstring>
using namespace std;
map<string,int>a;
int main()
{int t,n,i;string s,s1;scanf("%d",&t);while(t--){a.clear();cin>>s;a[s]=0;n=s.size();for(i=1;i<=n;i++){string s1,s2;s1=s.substr(i,n-i);s2=s.substr(0,i);//获取字符串从0开始取i个s1=s1+s2;if(a[s1]==0)a[s1]=i;}map<string,int>::iterator it=a.begin();//map<string,int>是按照最小字典序来排列的cout<<it->second<<endl;}return 0;
}
#include<stdio.h>
#include<string.h>
#define maxn 100010
int less(char s[],int p,int q)
{int n=strlen(s);int i;for(i=0;i<n;i++){if(s[(p+i)%n]!=s[(q+i)%n])return s[(p+i)%n]<s[(q+i)%n];}return 0;
}
int main()
{int t,ans,n,i;char s[maxn];scanf("%d",&t);while(t--){scanf("%s",s);ans=0;n=strlen(s);for(i=1;i<n;i++){if(less(s,i,ans))ans=i;}printf("%d\n",ans);}return 0;
}




http://www.ppmy.cn/news/298596.html

相关文章

1550:花神游历各国 (区间开方)

区间问题向 下放操作 上去考虑&#xff0c;当子节点全部都是 1 / 0 时&#xff0c;此时不需要操作更新 const int N1e65;int n,m,t;int i,j,k;int a[N];struct Node{int l, r;ll sum;bool f; //所有子节点都 <1 则为 1 ;}node[N<<2];void push_up(int id) {if(node[…

电子行业激光雷达观察报告之Luminar篇:1550nm追风者-220424

 Luminar 是全球市值最高的激光雷达公司。Luminar 于 2020 年 12 月登陆纳斯达克&#xff0c;成为继 Velodyne 后全球第二家激光雷达上市 公司&#xff0c;当前市值约 50 亿美元。Luminar 致力于为全球车企提供高 性能激光雷达硬件、自动驾驶感知软件及一体化解决方案&#x…

【CF1550】C. Manhattan Subarrays(思维)

题目链接&#xff1a;https://codeforces.com/contest/1550/problem/C Suppose you have two points p(xp,yp) and q(xq,yq). Let’s denote the Manhattan distance between them as d(p,q)|xp−xq||yp−yq|. Let’s say that three points p, q, r form a bad triple if d(…

破除高阶ADAS感知系统瓶颈,1550nm激光雷达必不可少?

2021年&#xff0c;无论是上汽、北汽等传统车企&#xff0c;还是蔚来、小鹏等新造车势力&#xff0c;不约而同地推出了搭载激光雷达的车型。 相关数据统计显示&#xff0c;蔚来ET7/ET5、沃尔沃XC90、智己L7、广汽埃安、威马M7、上汽R-ES33、理想X01等20多款车型将于明年陆续搭…

【CSU1550】Simple String(思维)

题目链接 1550: Simple String Submit Page Summary Time Limit: 1 Sec Memory Limit: 256 Mb Submitted: 661 Solved: 279 Description Welcome,this is the 2015 3th Multiple Universities Programming Contest ,Changsha ,Hunan Province. In ord…

Ubuntu安装 Killer Wireless-AC 1550 Wireless 无线网卡驱动

问题说明&#xff1a; 在安装Ubuntu系统时&#xff0c;系统无法自动识别Killer Wireless-AC 1550无线网卡&#xff0c;导致无法发现并连接WiFi。 解决方法&#xff1a;编译并安装无线网络驱动 在网上寻找了很多解决方法&#xff0c;最终选择如下方法并成功解决驱动问题。 参…

东北大学OJ-1550: 实验4-12:购物找零时间

东北大学OJ-1550: 实验4-12:购物找零时间 大家好,我叫亓官劼(q guān ji ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,B站昵称为:亓官劼,地址为亓官劼的B站 本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!…

激光雷达:905与1550的战争

交流群 | 进“传感器群/滑板底盘群”请加微信号&#xff1a;xsh041388 交流群 | 进“汽车基础软件群”请加微信号&#xff1a;ckc1087 备注信息&#xff1a;传感器/滑板底盘/汽车基础软件真实姓名、公司、岗位 在去年8月底发布的《什么是激光雷达的“发动机技术”&#xff1f;一…