X-man

导航

hdu 4545 魔法串

#include<stdio.h>
#include<string.h>
#include<map>
using namespace std;
char a[1010];
char b[1010];
//map<char,char>m;
char c[2020];
//multimap<char,char>::iterator it;
int main()
{
    int _case,n;
    char x,y;
    int al,bl,i,j,ij;
    scanf("%d",&_case);
    for(ij=1;ij<=_case;ij++)
    {
        memset(a,'\0',sizeof(a));
        memset(b,'\0',sizeof(b));
        //m.clear();
        getchar();
        scanf("%s",a);
        //printf("@%d/n",sizeof(a));
        al=strlen(a);
        scanf("%s",b);
        bl=strlen(b);
        //printf("%d\n",bl);
        scanf("%d",&n);
        for(j=0;j<n;j++)
        {
            getchar();
            scanf("%c %c",&x,&y);
            //m[x]=y;
            c[2*j]=x;
            c[2*j+1]=y;
            //m.insert(pair<char,char>(y,x));
        }
        int k=0;
        for(j=0;j<al&&k<bl;)
        {
            if(a[j]==b[k])j++,k++;
            else
            {
                for(i=0;i<n;i++)
                if(b[k]==c[i*2]&&a[j]==c[i*2+1])
                {
                    j++;
                    k++;
                    break;
                }
                if(i==n)k++;
                //printf("%d %d\t",j,k);
            }
        }
        printf("Case #%d: ",ij);
        if(j==al)printf("happy\n");
        else
        printf("unhappy\n");
    }
    return 0;
}

map还得金山赛抱鸭蛋!!~~

posted on 2013-05-18 16:46  雨钝风轻  阅读(240)  评论(0编辑  收藏  举报