女王大人的水题

来源:互联网 发布:科赫兄弟 知乎 编辑:程序博客网 时间:2024/04/25 18:21

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4545

题目思路:不会~~hdu4545

AC代码:

#include<stdio.h>#include<string.h>char ming[1005],xi[1005];int change[30][30];int ok(){    int i,j,now=0,len1,len2;    len1=strlen(ming);    len2=strlen(xi);    for(i=0;i<len1;i++)    {        if(change[xi[now]-'a'][ming[i]-'a']==1||xi[now]==ming[i])now++;    }    if(len2<=now)return 1;    else return 0;}int main(){    int t,i=1;    scanf("%d",&t);    while(t--)    {        getchar();        memset(ming,0,sizeof(ming));        memset(xi,0,sizeof(xi));        gets(xi);        gets(ming);        int m;        scanf("%d",&m);        char a1,a2;        memset(change,0,sizeof(change));        while(m--)        {            getchar();            scanf("%c %c",&a1,&a2);            change[a2-'a'][a1-'a']=1;        }        printf("Case #%d: ",i++);        if(ok())printf("happy\n");        else printf("unhappy\n");    }    return 0;}
AC截图:

poj2663

#include<stdio.h>#include<string.h>int num[40];int main(){    int i,j;    num[0]=1;    for(i=2;i<=30;i+=2)    {        num[i]+=num[i-2]*3;        for(j=4;j<=i;j++)            num[i]+=num[i-j]*2;    }    int t;    while(~scanf("%d",&t),t+1)    {        printf("%d\n",num[t]);    }    return 0;}



0 0