2016普级组模拟试题(20161114) 给出字符串
2018-03-13 16:56
162 查看
题目:
2016普级组模拟试题(20161114) 给出字符串
题意:
给出我们一个字符串,求他们中最长的子串的长度
分析:
首先,我们要注意的是题目中提出我们要求的是子串,所以长度>1!
然后,我们再注意下字符串的长度,瞬间哈哈——<=60。随后我们就可以纯暴力AC。
AC后感想:
不得不说,这题真的是水。但是小编一开始傻傻的以为第一次找到的就一定是最大值。可想而知。。。但居然还AC了9个点《⊙⊙》。
代码:
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define LL long long using namespace std; inline LL read() { LL a=0,f=1;char s=getchar(); while(s<'0'||s>'9') {if(s=='-') f=-1;s=getchar();} while(s>='0'&&s<='9') {a=a*10+s-'0';s=getchar();} return a*f; } string s,z,c,kc; int max(int x,int y) { return x>y? x:y; } int main() { cin>>s; int l=s.size()-1; int maxj=0; for(int i=0;i<=l-1;i++)//枚举起始位置 { for(int j=l;j>=2;j--)//枚举长度 { c=kc;z=kc;//初始化。kc为空串 for(int k=i;k<=i+j-1;k++)//摘取字符串 c+=s[k]; for(int k=i+1;k<=l;k++) z+=s[k]; if(z.find(c)!=-1) maxj=max(maxj,j);//更新最大值 } } printf("%d",maxj);//输出 fclose(stdin); fclose(stdout); return 0; }
相关文章推荐
- 2016普级组模拟试题(20161114) 给出字符串
- 2016普级组模拟试题 给出字符串
- 2016普级组模拟试题(20161114) 平台
- 2016普级组模拟试题(20161114) 平台
- 2016普级组模拟试题 平台
- 2016普级组模拟试题(20161114) Closest
- 2016普级组模拟试题(20161114) Closest
- 2016普级组模拟试题 Closest
- 华为机试题—字符串压缩 c++
- 2011年蓝桥杯模拟试题java本科组试题
- C语言模拟试题6
- hdu4872(字符串模拟)
- 普及练习场 交叉模拟 字符串的展开
- 编程模拟试题
- 【华为机试题】将输入字符串中的大写字符改为小写,标点符号空格等删除
- 两个大数相加,使用字符串模拟相加过程
- 九度OJ 1066 清华01机试题之字符串排序
- UVA 706 LCD Display 液晶显示屏 (字符串模拟)
- BSOJ4836 -- 【模拟试题】篮球比赛 hzwer noip模拟赛
- 高精度问题之大数相加(原来就是用字符串相加,模拟手算这么简单!)