hdu 4545

直接遍历,不能转换就删除






#include<stdio.h>
#include<string.h>
int link[30][30];
int main()
{
	int i,j,len1,len2,n,t,op=1;
	char s1[1100],s2[1100],ch1[2],ch2[2];
	scanf("%d",&t);
	while(t--)
	{
		memset(link,0,sizeof(link));
		scanf("%s%s",s1,s2);
         len1=strlen(s1);
		 len2=strlen(s2);
		scanf("%d",&n);
		while(n--)
		{
			scanf("%s%s",ch1,ch2);
			link[ch1[0]-'a'][ch2[0]-'a']=1;
		}
		for(j=0,i=0;i<len1&&j<len2;i++,j++)
		{			
		    while(s1[i]!=s2[j]&&link[s2[j]-'a'][s1[i]-'a']==0)
			{
				j++;
			}
			if(j>=len2)break;
		}
		printf("Case #%d: ",op++);
		if(i>=len1)
			puts("happy");
		else puts("unhappy");

	}
	return 0;
}


你可能感兴趣的:(编程,算法,百度,Google,ACM)