#C05TL08P07. C05T.L08.实战训练八.附加题1.朋友

C05T.L08.实战训练八.附加题1.朋友

题目描述

同学们应该学会多交一些好朋友。朋友关系是相互的, A 是 B 的好朋友,则 B 也是 A 的好朋友。朋友关系是不传递的, A 是 B 的好朋友, B 是 C 的好朋友,但 A 和 C 不一定是好朋友。现在给出某小学部分同学之间的朋友关系,请编程统计朋友最多的人有多少个好朋友。

输入格式

第 1 行是两个整数 n 和 m ,分别表示同学总人数和朋友关系对数。

第 2 行到第 m+1 行,描述了 m 对朋友关系。每行两个用单个空格隔开的同学姓名。

每个人的姓名仅由小写字母组成,且 1 ≤ 姓名的长度 ≤ 10 。

数据范围

50% 以上的测试点输入数据保证朋友关系没有重复。

100% 的测试点输入数据保证 2 ≤ n ≤ 100 , 1 ≤ m ≤ 1000 ,且没有自己跟自己的朋友关系。

输出格式

一个整数,表示朋友最多的人有多少个好朋友。

样例

4 3
lucy lily
jam lily
jam peter
2
6 5
andy bob
bella andy
bob andy
andy cassie
cassie bob
3

样例解释

  1. 样例 1 解释:

4 个人,3 对朋友关系。

lucy只有一个朋友lily;

jam 有两个朋友 lily 和 peter ;

lily 有两个朋友 lucy 和 jam ;

peter 只有一个朋友 jam 。

所以 lily 和 jam 朋友最多,都是 2 个。

  1. 样例 2 解释:

6 个人, 5 对朋友关系。其中第 1 对朋友关系 “andy bob” 和第 3 对朋友关系 “bob andy” 重复。

andy 有三个朋友,分别是 bob 、 bella 和 cassie ;

bob 有两个朋友 andy 和 cassie ;

bella 只有一个朋友 andy ;

cassie 有两个朋友 bob 和 andy ;

另外 2 个人没有朋友(这两个人在输入中没有出现)。所以 andy 的朋友最多,有 3 个朋友。