GESP编程共123题,本题是整站第1406题,已经有人完成了本题,加油!
来自两所学校 A、B 的 n 名同学聚在一起相互交流。为了方便起见,我们把这些同学从 1 至 n 编号。他们共进行了 m 次交流,第 i 次交流中,编号为 ui,vi 的同学相互探讨了他们感兴趣的话题,并结交成为了新的朋友。
由于这次交流会的目的是促进两校友谊,因此只有不同学校的同学之间会交流。同校同学并不会互相交流。
作为 A 校顾问,你对 B 校的规模非常感兴趣,你希望求出 B 校至少有几名同学、至多有几名同学。
第一行两个正整数,表示同学的人数 n、交流的次数 m。
接下来 m 行,每行两个整数 ui,vi,表示一次交流。
输出一行两个整数,用单个空格隔开,分别表示 B 校至少有几名同学、至多有几名同学。
输入 #1
4 3 1 2 2 3 4 2
输出 #1
1 3
输入 #2
7 5 1 2 2 3 4 2 5 6 6 7
输出 #2
2 5
【题目大意】给定n个点,这些点要么属于A类,要么属于B类,给定m条边,一条边的两个端点必然一个属于A类,另一个属于B类,求属于B类的点的个数可能的最小值和最大值。
【考纲知识点】图的遍历
【解题思路】按照题目的输入进行连边,此时可以将整张图分为若干个连通块,对于每一个连通块都进行01染色,设颜色为0和1的点的个数分别为x,y,则B类点的数量即可以是x也可以是y,让min_B+=min(x,y),max_B+=max(x,y),最后输出min_B和max_B即可。
【参考程序】
本站题目仅供学习,GESP版权归CCF所有,如有侵权请联系删除。站长陈老师QQ及微信:208234。