Thanks sapnil
Moderator: Board moderators
#include<iostream>
using namespace std;
#include<string.h>
int main()
{
char str1[1000000],str2[1000000];
int l1,l2,i,j,FLAG=1;
while (scanf("%s%s",str1,str2)!=EOF)
{
FLAG=1;
l1=strlen(str1);
l2=strlen(str2);
for (i=0,j=0;i<l1 && j<l2 && l1<=l2;i++)
{
for (;j<l2;j++)
if (str1[i]==str2[j])
{
j++;
break;
}
}
if(i!=l1 || (l1==l2 && strcmp(str1,str2)!=0))
FLAG=0;
if(FLAG==0)
printf("No\n");
else
printf("Yes\n");
}
}
asif_rahman0 wrote:Array size should be 1000000.
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s,t;
long i,j;
while(cin>>s>>t)
{
i=0;
j=0;
while(1)
{
if(s[i]==t[j])
{
if(s[i-1]==t[j-1] || i==0 || j==0)
{i++;
j++;}
else
j++;
}
else
j++;
//cout<<s[i]<<" "<<t[j]<<endl;
if(i==(s.length()) || j==(t.length()))
break;
}
if(i==(s.length()))
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
}


#include <stdio.h>
#include <string.h>
char *s1,*s2,s[2000010];
int main()
{
char flag,i,j,l1,l2,k;
while (gets(s)!=NULL)
{
s1=strtok(s," ");
s2=strtok(NULL," ");
l1=strlen(s1);
l2=strlen(s2);
if (l1>l2)
{
printf("No\n");
continue;
}
else if (strstr(s1,s2)!=NULL)
{
printf("Yes\n");
continue;
}
else
{
k=0;
for (i=0;s1[i]!='\0';i++)
{
flag=0;
for (j=k;s2[j]!='\0';j++)
{
if (s1[i]==s2[j])
{
flag=1;
s2[j]=' ';
k=j;
break;
}
}
if (flag==0)
break;
}
if (flag==0)
printf("No\n");
else if (flag==1)
printf("Yes\n");
}
}
return 0;
}AC
Users browsing this forum: No registered users and 1 guest