hdu 4545 西山居一 魔法串

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

这个题目刚开始没有做出来  很纠结哦   做错了

后面参考了一下别人代码写出来的  发现很简单哦 只是我当时太笨了  呵呵   要注意一个地方 就是第一次输入的时候不要while(cin>>n)否则会出错哦

具体看代码

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;

char s1[1010],s2[1010];
int mat[30][30];

int main()
{
    int i,t,h,m;
    char a,b;
    cin>>t;

    for(h=1;h<=t;h++)
    {

        cin>>s1>>s2;

        memset(mat,0,sizeof(mat));

        for(i=0;i<26;i++) mat[i][i]=1;

        cin>>m;

        for(i=1;i<=m;i++)
        {
            cin>>a>>b;
            mat[a-'a'][b-'a']=1;
        }

        m=0;
        for(i=0;s2[i];i++)
        {
            if(!s1[m]) break;
            if(mat[s2[i]-'a'][s1[m]-'a']) m++;
        }

        if(!s1[m]){cout<<"Case #"<<h<<": happy"<<endl;}
        else cout<<"Case #"<<h<<": unhappy"<<endl;
     }
    return 0;
}


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值