题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1683
题意:给你一行要得到的卡的颜色的字符,在下面两行(上下对应表示一张卡的正反面的颜色)中从左到右找出符合第一行字符的卡,如果是“*”,则代表任意颜色,如果第一行全部在下面两行一次找到,则输出“win”,否则输出“lose”。
AC代码:
#include <stdio.h>
#include <string.h>
int main(){
int t,len1,len2,len3,i,flag,n;
scanf("%d",&t);
while(t--){
char a[105],b[105],c[105];
scanf("%s%s%s",a,b,c);
len1=strlen(a);
len2=strlen(b);
len3=strlen(c);
n=flag=0;
for(i=0;i<len2;i++){
if(b[i]=='*'||c[i]=='*')
n++;
else if(a[n]==b[i]||a[n]==c[i])
n++;
if(n==len1){
flag=1;
break;
}
}
if(flag)
printf("win\n");
else
printf("lose\n");
}
return 0;
}