【克罗地亚】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.
相关文章推荐
- 中介者模式和php实现
- 恒生笔试2017届
- hibernate的SessionFactory的getCurrentSession 与 openSession() 的区别
- getimagesizefromstring
- HDU 1040 排序
- Java\Scala\Python三种语言求解经典编程实例(二)—— 尾数前移
- Leetcode no. 153
- HDU 1039 判断字符串的合法性
- HIbernate聚合函数和分组查询(学习笔记)
- 深入理解js数组的sort排序
- 【克罗地亚】NIKOLA
- android framebuffer adb pull
- openSession()和getCureentSession()的区别
- 一个表单提交操作的编码格式问题
- 1036: [ZJOI2008]树的统计Count 【树链剖分】【点权:单点更新区间求值】
- 剑指offer面试题7(java实现)
- 网龙现场笔试电话面试经历
- Android菜单详解(五)——使用XML生成菜单
- viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
- Windows-DB2 9.7安装图解