[ACM] POJ 1936 All in All (查找,一个串是否在另一个串中)
来源:互联网 发布:php api接口开发 框架 编辑:程序博客网 时间:2024/06/08 14:16
All in All
Time Limit: 1000MS Memory Limit: 30000KTotal Submissions: 27521 Accepted: 11266
Description
You have devised a new encryption technique which encodes a message by inserting between its characters randomly generated strings in a clever way. Because of pending patent issues we will not discuss in detail how the strings are generated and inserted into the original message. To validate your method, however, it is necessary to write a program that checks if the message is really encoded in the final string.
Given two strings s and t, you have to decide whether s is a subsequence of t, i.e. if you can remove characters from t such that the concatenation of the remaining characters is s.
Given two strings s and t, you have to decide whether s is a subsequence of t, i.e. if you can remove characters from t such that the concatenation of the remaining characters is s.
Input
The input contains several testcases. Each is specified by two strings s, t of alphanumeric ASCII characters separated by whitespace.The length of s and t will no more than 100000.
Output
For each test case output "Yes", if s is a subsequence of t,otherwise output "No".
Sample Input
sequence subsequenceperson compressionVERDI vivaVittorioEmanueleReDiItaliacaseDoesMatter CaseDoesMatter
Sample Output
YesNoYesNo
Source
Ulm Local 2002
代码:一开始想多了,想着要查找的串的第一个字母对应另一个串中的很多位置怎么办。。。其实不用只要匹配了一个字母待匹配的串就少了一个字母,不需要回溯。。所以直接设置两个指针直接模拟就可以了。。
代码:
#include <iostream>#include <string.h>using namespace std;string s1,s2;int len1,len2;int main(){ while(cin>>s1>>s2) { int len1=s1.length(); int len2=s2.length(); int i=0,j=0; while(j<len2) { if(s1[i]==s2[j]) { i++; j++; if(i==len1) { cout<<"Yes"<<endl; break; } } else { j++; if(j==len2) { cout<<"No"<<endl; break; } } } } return 0;}
0 0
- [ACM] POJ 1936 All in All (查找,一个串是否在另一个串中)
- [ACM] POJ 1936 All in All (查找,一个串是否在另一个串中)
- (POJ 1036)All in All 判断一个串是否包含另一个串 模拟
- (Relax ST1.9)POJ 1936 All in All(判断一个字符串去掉一部分以后是否等价于另一个字符串)
- poj 1936 All in All 【串】
- POJ 1936 All in All(串)
- POJ 1936 All in All ---- 串匹配
- [POJ](1936)All in All ---字符串匹配(串)
- POJ 1936 All in All(string)
- POJ 1936 All in All(水~)
- POJ 1936 :All in All:简单字符串查找
- poj 1936 "all in all"
- poj 1936 All in All
- POJ 1936 All in All
- poj 1936 All in All
- POJ 1936 all in all
- POJ 1936 All in All
- POJ 1936 All in All
- 2014华为机试题——取出整型数据中出现次数最多的元素,并按照升序排列返回
- java痛苦学习之路[七]---专注移动互联网产品设计研发
- WeChall Training: Crypto - Caesar I
- Linux进程间通信——使用匿名管道
- Android App 内存泄露之Thread
- [ACM] POJ 1936 All in All (查找,一个串是否在另一个串中)
- webcente
- Linux进程间通信——使用命名管道
- Oracle Arraysize设置对于逻辑读的影响实例分析
- C语言的本质(25)——C标准库之内存管理
- ACTIVITI 源码研究之命令模式执行
- mysql (master/slave)复制原理及配置
- 优秀程序员必备的六个好习惯
- Java Web学习之JSP基本知识篇