现在的位置: 首页 > 综合 > 正文

hdu 4545

2019年02月20日 ⁄ 综合 ⁄ 共 676字 ⁄ 字号 评论关闭
#include<stdio.h>
#include<string.h>
#include<algorithm>

using namespace std;

#define N 1005

struct node
{
    int num;
    char c[N];
}a[30];

char z[N], x[N];

int main()
{
    int tot;
    scanf("%d%*c", &tot);
    for(int p = 1; p <= tot; p++)
    {
        scanf("%s%s", z, x);
        for(int i = 1; i < 30; i++)
            a[i].num = 0;
        int n;
        scanf("%d%*c", &n);
        char q, w;
        while(n--)
        {
            scanf("%c%*c%c%*c", &q, &w);
            a[q-'a' + 1].c[a[q - 'a' + 1].num] = w;
            a[q - 'a' + 1].num++;
        }
        int pos = 0;
        bool f = 0;
        int i = 0;
        for(; z[i] && x[pos]; )
        {
            if(z[i] == x[pos])
            {
                pos ++;
                i++;
                continue;
            }
            else 
            {
                int j;
                bool ok = 0;
                for(j = 0; j < a[x[pos] - 'a' + 1].num; j++)
                {
                    if(a[x[pos] - 'a' + 1].c[j] == z[i])
                    {
                        ok = 1;
                        break;
                    }
                }
                if(ok)
                {
                    pos++;
                    i++;
                }
                else
                {
                    pos++;
                }
            }
        }
        if(i != strlen(z))
            f = 1;
        printf("Case #%d: ", p);
        if(!f)
            printf("happy\n");
        else
            printf("unhappy\n");
    }
    return 0;
}

不A这道不上厕所

抱歉!评论已关闭.