诈骗电话检测

提交数: 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