诈骗电话检测
提交数: 172, 通过率: 2.91%, 平均分: 31.35
题目描述:
电信诈骗是社会毒瘤,本题请你编写程序实现一个较为简单的算法,从大量的通话记录中自动筛查出诈骗团伙嫌疑人。
一个通话者被判定有诈骗嫌疑,如果其每天给不同的人拔出超过 k 个短通话,而这些人中回电话的却不超过 20%。并且,如果两个嫌疑人互相有通话,就判定他们属于同一个团伙。这里“短通话”的意思是,通话时长不超过 5 分钟。
输入格式:
输入第 1 行给出 3 个正整数,分别为:k( ≤ 500,诈骗判定的短通话数量阈值 ),n( ≤ 103,不同的电话号码的数量 ),m( ≤ 105,通话记录的条数 )。随后 m 行,给出当天的通话记录,每行格式为:呼出者 接收者 时长。其中 呼出者 和 接收者 都是通话者的编号,从 1 到 n 编号;时长 是通话的时间长度,以分钟为单位,一天内不超过 1440 分钟。
输出格式:
每行按升序输出一个疑似诈骗团伙中所有成员的编号。如果有多个团伙,按照他们第 1 个人的编号的升序输出。同行数字间以 1 个空格分隔,行首尾不得有多余空格。
如果完全没有嫌疑人,则输出 None。
样例输入:
样例1: 5 15 31 1 4 2 1 5 2 1 5 4 1 7 5 1 8 3 1 9 1 1 6 5 1 15 2 1 15 5 3 2 2 3 5 15 3 13 1 3 12 1 3 14 1 3 10 2 3 11 5 5 2 1 5 3 10 5 1 1 5 7 2 5 6 1 5 13 4 5 15 1 11 10 5 12 14 1 6 1 1 6 9 2 6 10 5 6 11 2 6 12 1 6 13 1 样例2: 5 7 8 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 2 1 1 3 1 1
样例输出:
样例1: 3 5 6 样例2: None时间限制: 1000ms
空间限制: 512MB
来源: 25年比赛初中组t4