南邮 OJ 1952 贲神的故事2
来源:互联网 发布:软件企业会计处理 编辑:程序博客网 时间:2024/05/18 03:12
贲神的故事2
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 42 测试通过 : 10
总提交 : 42 测试通过 : 10
比赛描述
妹子:说你爱我!
贲神:不说!
妹子:快说你爱我!
贲神:不说!
…………
妹子:你快说嘛!
贲神:好吧好吧。watashilostvectoryou
贲神真的说了呦,不过妹子觉得很不爽,所以她想吧句子里面包含“love”的最短的字符串找出来(如果有多个的话找出最左边的),你能帮帮她么?
输入
第一行为一个正整数T表示有T组数据
每组数据有一行,为一个小写字母组成的字符串,长度不超过10000
输出
若可以找到“love”,则输出"l"最早出现的位置(默认第一个字符的位置为1),若找不到,则输出-1.
样例输入
1
watashilostvectoryou
样例输出
8
题目来源
张飞
/* Wrong Answer at Test 1#include<iostream>int main(){char a[10001];int t,i,j,strLen,pos,minLen=INT_MAX;bool flagO,flagV,flagE;scanf("%d",&t);while(t--){scanf("%s",a);}strLen = (int)strlen(a);for(i=0;i<strLen;i++){if(a[i]=='l'){flagO = flagV = flagE = 0;for(j=i+1; !flagE && j<strLen; j++){switch(a[j]){case('l'):break;case('o'):flagO = 1;break;case('v'):if(flagO){flagV = 1;}break;case('e'):if(flagV){flagE = 1;}break;default:break;}}if(flagE && minLen>j-i+1){minLen = j-i+1;pos = i+1;}}}if(minLen!=INT_MAX){printf("%d\n",pos);}else{printf("-1");}}*//* 31MS#include<iostream>int main(){char a[10001];int t,i,j,strLen,pos,minLen;bool flagO,flagV,flagE;scanf("%d",&t);while(t--){scanf("%s",a);minLen=INT_MAX;strLen = (int)strlen(a);for(i=0;i<strLen;i++){if(a[i]=='l'){flagO = flagV = flagE = 0;for(j=i+1; !flagE && j<strLen; j++){switch(a[j]){case('l'):break;case('o'):flagO = 1;break;case('v'):if(flagO){flagV = 1;}break;case('e'):if(flagV){flagE = 1;}break;default:break;}}if(flagE && minLen>j-i+1){minLen = j-i+1;pos = i+1;}}}if(minLen!=INT_MAX){printf("%d\n",pos);}else{printf("-1\n");}}}*/#include<iostream>int main(){char a[10001];int t,i,j,strLen,pos,minLen;bool flagO,flagV,flagE;scanf("%d",&t);while(t--){scanf("%s",a);minLen=INT_MAX;strLen = (int)strlen(a);for(i=0;i<strLen;i++){if(a[i]=='l'){flagO = flagV = flagE = 0;for(j=i+1; !flagE && j<strLen; j++){switch(a[j]){case('l'):if(!flagO){//这个剪枝将时间从31MS 降到了 0MSi = j;}break;case('o'):flagO = 1;break;case('v'):if(flagO){flagV = 1;}break;case('e'):if(flagV){flagE = 1;}break;default:break;}}if(flagE && minLen>j-i+1){minLen = j-i+1;pos = i+1;}}}if(minLen!=INT_MAX){printf("%d\n",pos);}else{printf("-1\n");}}}
0 0
- 南邮 OJ 1952 贲神的故事2
- 南邮 OJ 1916 贲神的故事2
- 南邮 OJ 1919 我的故事
- 南邮 OJ 1917 松牛的故事1
- 杭电OJ 2018 母牛的故事
- hdu-oj 1408 盐水的故事
- hdu-oj 1408 盐水的故事
- 杭电oj 2018 母牛的故事
- 刷题、OJ 1932 母牛的故事
- 杭电oj 2018 母牛的故事
- 【杭电-oj】-2018-母牛的故事
- 山东理工OJ 1243 母牛的故事
- NEFU OJ 427 母牛的故事
- 母牛的故事 (sdut oj)
- 杭电 OJ 1408 盐水的故事
- HDU OJ 2018 母牛的故事
- 哈工程OJ 1253 马和象的故事 BFS
- 杭电OJ题 1408 盐水的故事 解题报告
- 小胖说事35-----Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer posi
- Algorithms—82.Remove Duplicates from Sorted List II
- 网站的URL重写
- gulp VS grunk
- 信号屏蔽
- 南邮 OJ 1952 贲神的故事2
- 【Java设计模式】· 命令模式(Command Pattern)
- 一些不常用的html标签及css属性
- [贪心+优先队列] hdu5360多校联合 第六场 Hiking
- 数据结构之树状数组
- centos6.6重启网络报错Error: Connection activation failed: Device not managed by NetworkManager的解决办法
- 常用两种系统体系结构的比较
- Ant自动编译打包android项目
- leetcode_Combination Sum