您的位置:首页 > 其它

【克罗地亚】pjesma

2016-05-28 16:44 225 查看

【克罗地亚】pjesma

时间限制: 1110 ms 空间限制: 65536 KB 具体限制

Input

“Guess the song” 是一项在克罗地亚的年轻程序员中非常流行的游戏。它是一种集技能、智慧、耐性于一体的游戏。这个游戏给玩游戏的人放音乐,游戏者的目标是竟可能快地猜这首歌的歌名。

Mirko可能不是一个很好的程序员,但他是一个世界级的猜歌者。Mirko总是在专辑里的某首歌播放出至少一半歌词的时候猜出歌名。所有歌名的单词是唯一的(没有一个单词会出现一次或更多次)。

写一个程序,给出歌名和专辑名,看看Mirko在这首歌的哪个点上(在多少个单词之后)猜出歌名。

Input

第一行:包含一个整数N,1≤N≤50,它是一首歌里的单词数目。

N下面的每一行包含歌名的一个单词。

第二行:包含一个整数M,1≤M≤10 000, 它是专辑里的单词数目。

M下面的每一行包含专辑里的一个单词

歌名和专辑里的所有单词由1到15个小写英文字母组成。

注:测试数据将会使得Mirko总能从专辑里猜出歌曲名。

Output

一个数K,表示Mirko在这首歌的哪个点上(在多少个单词之后)猜出歌名。

Sample Input

3

sedam

gladnih

patuljaka

7

sedam

dana

sedam

noci

sedam

gladnih

godina

Sample Input

6

Hint

样例解释:某首歌的单词数目为3个,而题目:“某首歌播放出至少一半歌词的时候猜出歌名”,所以需要前两个单词均出现后,可以猜出是在专辑中的第6个位置。

解题思路

直接枚举就好了:

var
a:array[1..50]of string;
b:array[1..10000]of string;
bz:array[1..50]of boolean;
n,m,i,j,ans:longint;
begin
readln(n);
for i:=1 to n do readln(a[i]);
readln(m);
for i:=1 to m do
begin
readln(b[i]);
for j:=1 to n do
if b[i]=a[j] then
if not bz[j] then
begin
bz[j]:=true;
inc(ans);
end;
if ans>=(n+1)>>1 then
begin
writeln(i);
halt;
end;
end;
end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: