题目 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;
}