店长推荐Ⅲ hrbust

这个题应该没什么难度。如果有也应该是那个判断子串的check_word()函数。

int check_word(char s2[55],char s[200])
{
int i,j,m=-1;
int t=0;
int n1=strlen(s2);
int n2=strlen(s);
for(i=0;i<n1;i++)
{
for(j=m+1;j<n2;j++)
if(s2[i]==s[j])
{m=j;t++;break;}
}
if(t==n1)
return 1;
return 0;
}

好好体会,再多练习练习吧。

 1 #include<stdio.h>
 2 #include<string.h>
 3 char s2[55],s[200];
 4 int check_word(char s2[55],char s[200]);
 5 int main()
 6 {
 7     int t;
 8     int m,n;
 9     int k;
10     while(scanf("%d",&t)!=EOF)
11     {
12     while(t--)
13     {
14         k=0;
15         scanf("%d%d",&m,&n);
16         scanf("%s",s2);
17         while(m--)
18         {
19             scanf("%s",s);
20             if(check_word(s2,s))
21                 k++;
22         }
23         if(k>n)printf("EMule V5!\n");
24         if(k==n)printf("Orz!\n");
25         if(k<n) printf("Vagaa V5!\n");
26     }
27     printf("\n");
28     }
29     return 0;
30 }
31 int check_word(char s2[55],char s[200])
32 {
33     int i,j,m=-1;
34     int t=0;
35     int n1=strlen(s2);
36     int n2=strlen(s);
37     for(i=0;i<n1;i++)
38     {
39         for(j=m+1;j<n2;j++)
40             if(s2[i]==s[j])
41             {m=j;t++;break;}
42     }
43     if(t==n1)
44         return 1;
45     return 0;
46 }

 

店长推荐Ⅲ
Time Limit: 1000 MS Memory Limit: 65536 K
Total Submit: 79(34 users) Total Accepted: 36(32 users) Special Judge: No
Description

店长玩了一阵子vagaa后烦了,教主得知后立马毫不吝啬地拿出自己的电驴(Emule),又是一个下载神器!了解了它的用法后,店长想让这两个工具PK一下,在得知了vagaa的所有性能后,店长对电驴进行了测试,搜索了一些关键词,看下他的搜索能力如何?如果给出的搜索结果中包含关键词(需要按顺序但是不必连续存在,即关键字是结果的子串),表示搜索结果正确

Input

第一行输入一个整数T表示测试数据组数

第二行输入两个整数m,n(0<m<50,0<n<=m),n代表vagaa得到正确结果数量!接下来一行输入一个字符串(长度小于等于50)表示关键词,然后m行表示搜索的结果。

题目有多组测试数据

Output

统计电驴正确结果数量和vagaa进行对比

如果大于vagaa那么输入”EMule V5!”,并换行.

如果小于vagaa那么输出”Vagaa V5!”,并换行

如果相等,输出”Orz!”并换行

每次进行T组pk后输出一个换行

Sample Input

1
2 0
orz
odfrsdfz
abcdefg
2
4 2
go
wanto
gdfsfo
eragosdf
eradf
3 2
v5
av45ds
sdfeav
12sdf

Sample Output

EMule V5!

Orz!
Vagaa V5!
posted @ 2012-09-25 22:43  尔滨之夏  阅读(383)  评论(0编辑  收藏  举报