hdu2526(浪漫手机)

#include
#include
typedef struct
{
    char ch[3],c;//ch是音符模式,c是音符
}node;
char f[1000][1000];
int main()
{
    node str[8];
    int t,n,j,i,e;
    scanf("%d",&t);//输入
    while(t--)
    {
        scanf("%d",&n);
        for(i=0;i<8;i++)
        {
            getchar();
            scanf("%s %c",str[i].ch,&str[i].c);
        }
        getchar();
        scanf("%s",f[0]);

        int len;
        len=strlen(f[0]);//每行乐谱长度

        for(i=0;i         {
            for(j=0;j             f[i+1][j]='0';
            f[i+1][len]='\0';//每行的结束符,为了方便输出

            for(e=0;e<8;e++)//注意这里是每行最开头一个音符谱写
                    if(str[e].c!='0')//音符不为0,因为都己经初始化为0了
                    {
                        if('0'==str[e].ch[0])//找到与音符模式相同的串
                        if(f[i][0]==str[e].ch[1])
                        if(f[i][1]==str[e].ch[2])
                        {
                            f[i+1][0]=str[e].c;
                            break;
                        }
                    }

                for(j=0;j                 {
                    for(e=0;e<8;e++)
                    if(str[e].c!='0')
                    {
                         if(j                         {
                            if(f[i][j]==str[e].ch[0])
                            if(f[i][j+1]==str[e].ch[1])
                            if(f[i][j+2]==str[e].ch[2])
                            {
                                f[i+1][j+1]=str[e].c;
                                break;
                            }
                        }
                        else if(j==len-2)//注意这里是每行最后一个音符谱写
                        {
                             if(f[i][j]==str[e].ch[0])
                            if(f[i][j+1]==str[e].ch[1])
                            if('0'==str[e].ch[2])
                            {
                                f[i+1][j+1]=str[e].c;
                                break;
                            }
                        }
                    }
                }
        }

        for(i=0;i         printf("%s\n",f[i]);

    }
    return 0;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部