poj1936 水题

 
#include <iostream>
using namespace std;

bool judge(char *a, char *b)
{
	int i,j,mark = 0,a_len = strlen(a),b_len = strlen(b);
	bool flag = true;
	for(i = 0; i < a_len && flag; i++ )
	{
		flag = false;
		for( j = mark; j < b_len; j++ )
		{
			if( b[j] == a[i] )
				if( b_len-j >= a_len-i){
					mark = j+1;
					flag = true;
					break;
				}
		}
	}
	if(flag) return true;
	else return false;
}
int main()
{
	char s[2][100002];

	while((scanf("%s%s",s[0],s[1])) != EOF)
	{
        if(judge(s[0],s[1])) printf("Yes\n");
		else printf("No\n");
	}
    return 0;
}

你可能感兴趣的:(poj1936 水题)