hdu5311
2015-07-27 13:59
501 查看
链接:点击打开链接
题意:输入一个字符串,看是否能找到三个没有重叠部分的连续子串组成“anniversary”这个字符串,并满足1≤l1≤rl<l2≤r2<l3≤r3≤n
1≤l
1
≤r
1
<l
2
≤r
2
<l
3
≤r
3
≤n1≤l
1
≤r
1
<l
2
≤r
2
<l
3
≤r
3
≤n代码:
题意:输入一个字符串,看是否能找到三个没有重叠部分的连续子串组成“anniversary”这个字符串,并满足1≤l1≤rl<l2≤r2<l3≤r3≤n
1≤l
1
≤r
1
<l
2
≤r
2
<l
3
≤r
3
≤n1≤l
1
≤r
1
<l
2
≤r
2
<l
3
≤r
3
≤n代码:
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; char s[20]="anniversary"; char *judge(char str[],int l,int r){ //返回值为满足情况时的指针 char *p; int i,j,sign; while(*str){ p=str+1; sign=1; for(i=l;i<r&&sign;i++){ if(*str!=s[i]) sign=0; str++; } if(sign) return str; str=p; //不满足时str向后移动 } return NULL; } int main(){ char str[500],*p; int t,i,j,len,sign; cin>>t; while(t--){ cin>>str; len=11;sign=0; for(i=1;i<len;i++) for(j=1;i+j<len;j++){ p=judge(str,0,i); if(p)p=judge(p,i,i+j); if(p)p=judge(p,i+j,len); if(p)sign=1; } if(sign) puts("YES"); else puts("NO"); } return 0; }
相关文章推荐
- TCP/IP状态变迁
- jquery 判断单/复选框是否被选中
- java(JDBC连接数据库)[完整版封装]
- 7月27日--爬虫心得
- 图像的阈值分割(迭代法选择阈值)
- Oracle blob字段的插入和更新
- 通过html页面打开Android本地的app
- 在matlab中对hsv进行均匀量化和非均匀量化
- 查看centos系统版本
- iOS 去顶部导航栏下黑线
- template
- [HDU 2191]悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
- ZOJ 3431 Escape!
- Android ServiceManager启动
- 查看网络端口占用
- 文件处理
- js到字符串数组,实现阵列成一个字符串
- 系统windows进程的资源分配
- 高并发系统设计之开放平台API接口调用频率控制系统
- android 程序员跳槽需要注意哪些?