hdu5414(2015多校10)--CRB and String(字符串匹配)
来源:互联网 发布:伟哥影响生育吗 知乎 编辑:程序博客网 时间:2024/05/29 19:59
题目链接:点击打开链接
题目大意:有A,B两个字符串,现在有一种操作可以在A的任意一个字符x后面增加一个字符y(x!=y),问能不能将A变为B。
首先如果A可以变成B,那么A就一定是B的一个子序列,这个可以在O(n+m)的时间内算出。
如果A是B的子序列之后,判断增加的字符中是不是含有不能增加的情况,我们只需要判断B从开始的一段连续的相同的字符串,是不是在A的开头也存在,如果存在,那么就是可以由A转化成B的。
#include <cstdio>#include <cstring>#include <algorithm>using namespace std ;char s1[100010] , s2[100010] ;int main() { int t , i , j , l1 , l2 ; char ch ; //freopen("1009.in","r",stdin) ; //freopen("9.out","w",stdout) ; scanf("%d", &t) ; while( t-- ) { scanf("%s %s", s1, s2) ; l1 = strlen(s1) ; l2 = strlen(s2) ; i = j = 0 ; while( i < l1 && j < l2 ) { if( s1[i] == s2[j] ) { i++ ; j++ ; } else j++ ; } if( i < l1 ) { printf("No\n") ; continue ; } for(j = 1 ; j < l2 ; j++) if( s2[j] != s2[j-1] ) break ; for(i = 0 ; i < j ; i++) if( s1[i] != s2[0] ) break ; if( i < j ) printf("No\n") ; else printf("Yes\n") ; } return 0 ;}
1 1
- hdu5414(2015多校10)--CRB and String(字符串匹配)
- hdu5414 CRB and String(构造,模拟)
- HDU5414 CRB and String 字符串+模拟+思维
- hdu5414 CRB and String
- hdu5414 CRB and String
- [HDU5414]CRB and String
- 模拟 hdu5414 CRB and String
- HDU 5414(2015多校10)-CRB and String(字符串处理)
- CRB and String(字符串想法规律题)
- hdu 5414 CRB and String(贪心)
- HDU 5414 CRB and String(贪心)
- hdu 5414 CRB and String(贪心)
- HDU 5414 CRB and String(水~)
- HDU 5414 CRB and String (2015年多校比赛第10场)
- hdu 5414 CRB and String(字符串模拟)
- hdu 5414 CRB and String(字符串模拟)
- 2015.8.20 多校#10 1009 CRB and String
- 2015 Multi-University Training Contest 10 CRB and String
- 【c++版数据结构】之单链表的实现(带头结点以及尾节点)
- WEB测试总结
- UVA 540 Team Queue
- 一点一点学习struts1(一)_简介
- 黑马程序员-----Java基础-----Map
- hdu5414(2015多校10)--CRB and String(字符串匹配)
- leetcode——Two Sum_1
- Cocos2d-x 3.7 Android&iOS开发环境搭建
- cocos2d-x 播放 cocostudio导出的帧动画
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
- Linux锁机制
- Android基于百分比尺寸和边距的百分比支持库
- Android笔记(七)活动的生命周期
- 黑马程序员——Java多线程与并发编程