http://acm.hust.edu.cn/vjudge/contest/123670#problem/J 密码 5201
#include<stdio.h>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
//freopen("C:\\Users\\5201\\Desktop\\1.txt","r",stdin);
char s[1100000],k[1100000];
while(scanf("%s%s",k,s)!=EOF)
{
int lens=strlen(s),lenk=strlen(k);
int i,j,flag(0);
for(i=0,j=0;i<lens;i++)
{
if(s[i]==k[j])
{
flag++;
if(flag==lenk) break;
j++;
if(j>=lenk) break;
}
}
if(flag==lenk) printf("Yes\n");
else printf("No\n");
}
}
思路:
1.找到有几个和第0个字符相同的字符.。
2.有几个就说明最多有几个。
3.多次循环找最大值。