UVA10340-All in all
2015-07-26 13:10
309 查看
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.
Input
The input contains several testcases. Each is specified by two strings s, t of alphanumeric ASCII characters separated by whitespace. Input is terminated by EOF.
Output
For each test case output, if s is a subsequence of t.
Sample Input
sequence subsequence
person compression
VERDI vivaVittorioEmanueleReDiItalia
caseDoesMatter CaseDoesMatter
Sample Output
Yes
No
Yes
No
注意遍历过程中t与s的顺序,并不是在t中找到s的字符即可,还要有s的顺序。
代码如下:
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.
Input
The input contains several testcases. Each is specified by two strings s, t of alphanumeric ASCII characters separated by whitespace. Input is terminated by EOF.
Output
For each test case output, if s is a subsequence of t.
Sample Input
sequence subsequence
person compression
VERDI vivaVittorioEmanueleReDiItalia
caseDoesMatter CaseDoesMatter
Sample Output
Yes
No
Yes
No
注意遍历过程中t与s的顺序,并不是在t中找到s的字符即可,还要有s的顺序。
代码如下:
#include <stdio.h> #include <stdlib.h> #include <string.h> #define Maxn 100010 char s[Maxn],t[Maxn]; int main() { int i,j,m,c; while(scanf("%s%s",s,t)!=-1) { m=0;c=0;j=0; for(i=0;i<strlen(s);i++) { j=m; for(;j<strlen(t);) { j=m; if(s[i]==t[j]) { m++;c++;break; } m++; } } if(c==strlen(s)) printf("Yes\n"); else printf("No\n"); } return 0; }
相关文章推荐
- android openFileOutput
- 欧几里得辗转相除算法的递归写法
- 异步编程
- rTorrent + ruTorrent 安装和配置
- DNS配置
- 正则表达式和通配符的区别(转)
- Android 设计模式学习之工厂模式
- MFC,unicode下CString类型及UTF8问题
- 比较两个对象是否为同一个对象
- smarty中ifelse、foreach以及获取数组中键值名的一个实例
- leetcode 46: Permutations
- UVA227-Puzzle
- xml 语法提示
- 快速使用automake
- 学习java编程能往哪些方向发展
- 二分查找及扩展
- 杭电1201 18岁生日
- 软链接与硬链接
- BCB中的TButton
- uvalive 3263