诚实村与谎言村
一天,你跟随渔夫出海打鱼,在海上遇到了大风浪而迷失了方向,小船被刮到了一座小岛上。岛上有两个相邻的村子,一个叫诚实村,一个叫谎言村,诚实村的村民只会说真话,从不撒谎,而谎言村的村民则只说谎话,从不说真话。所以你决定想办法区分出这不同的两组人,弄清楚谁说的是真话,这样才能够找到回去的方向。这两个村的村民很热情,有问必答,你要求每位村民给你一份他们认为是说谎者的名单。这些村民世世代代都生活在这里,所以他们非常清楚谁在说谎。但是为了不得罪人,每位村民勉强地只给了你一份不全的名单,当然这些名单也不能尽信。
你必须编写一个程序来筛选你所收集到的这些信息,并判断哪些村民是在说真话,哪些村民是在说谎话。两个村的村民人数很多,所以你的程序必须能快速并有效的处理大量数据。
输入规范
你的程序必须获取一个唯一的命令行参数,即文件的名称。打开文件并且解析里面的数据。这些数据以村民的数量
n开头,行尾另起一新行。后面跟着是连续的
n块信息,每块信息描述的是一个村民所举报的那些说谎者名单。每一块的格式如下:
-
<accuser name><m>(其中:accuser name表示举报人名字,m表示被举报说谎的人数。)
而后紧跟
m行,每一行包含一个被举报的人员名字。
accuser name和
m被一些制表符(tab)和空格隔开。
m总是在 [0,
n] 区间。所有人员的名字只包含字母且是唯一的并区分大小写。
输入文件示例:
-
5
Stephen 1
Tommaso
Tommaso 1
Galileo
Isaac 1
Tommaso
Galileo 1
Tommaso
George 2
Isaac
Stephen
输出规范
你的程序输出必须由两个数字组成,数字之间由一个空格隔开,结尾另起一新行(换行符为 "
\n"),打印至标准输出。第一个数字是说谎者和诚实者中人数较多的一组人数; 第二个数字是人数较少的一组人数。我们保证这些测试数据只有一个正确的解决方法。
输出示例如下:
====================个人解决方案===========================
这个算法不完善,时间有限,并且STL库在有些系统上在递归时产生段错误。如果将队列改为不能重复的在大数据量时会更好。大家帮忙看看有没有更好的方案。
分享到:
相关推荐
谎言和诚实的名言警句.doc
谎言和诚实的名言警句精选.doc
建筑的诚实与谎言--一种建筑批评模式溯源及其批判,李向锋,,建筑设计是否真实体现了建筑功能、结构等方面的原旨,一直被现代建筑学视为评判的基本模式,进而常常被上升到伦理批评层面。本文
与其他同类书相比,本书中没有深奥的心理学原理,而是以诙谐的文字、幽默的事例向读者讲述最易学、最实用的造谎术、圆谎术、识谎术和破谎术,让你轻松学会用谎言保护自我的技巧,掌握识破他人谎言的秘诀,从而在生活...
初中语文文摘人生谎言与真相
谈谈云计算的谎言与野心.docx
【始于谎言的美妙青春,阅读附答案】 始于谎言的美妙青春.docx
六年级语文上口语交际讲诚信与善意的谎言PPT教案学习.pptx
一学期本科统计课程的免费教科书。 本书的目的是帮助您学习如何用统计数据说出真相,从而了解当别人说出真相或说谎时的方式。
畅销谎言:对错位工作观念的重磅批判
FTP密码修改器,自己写的,有用得上的拿去
小米的神话与谎言(2012).pdf
2021年善意的谎言辩论会正反方资料【经典】.pdf
讲诚信与善意谎言辩论会反方资料.docx
谎言
老爸的谎言.doc
企业管理畅销谎言.EXE
善意的谎言作文.doc
妈妈的谎言作文.doc
初中语文经典美文关于谎言