投稿  收藏 

题目信息

题目类型
选拔赛
题目年份
2022
题目题型
编程题
关 键 词
收集宝石

题目题干

9 编程实现:收集宝石

题目描述:

聪聪在玩冒险岛游戏,为了召唤法力更强大的神龙,他必须尽可能收集更多的魔法宝石,每颗宝石都有不同的功效。不过在游戏里,几乎每一颗魔法宝石都会和另外一颗宝石相冲。相冲表示这两颗宝石不能同时拥有。例如,宝石A和宝石B 相冲,那么,你可以选择两颗宝石都不收集,也可以只收集宝石A 或者只收集宝石 B,但不能同时拥有宝石 A和宝石B现在给定了游戏里宝石的数量N(2<=N<=100),宝石从1到N依次编号,并给出M对(2<=M<=2000)相冲的宝石编号,请帮聪聪计算出最多能够收集到多少颗宝石。

例如: N=6,M=8时,6颗宝石的编号分别为 1、2、3、4、5、6,其中有8对相冲的宝石,对应编号如下:

1 2

2 3

2 4

2 5

2 6

3 4

4 5

5 6

这表示宝石1和宝石2相冲,宝石2和宝石3,4,5都相冲,宝石3和宝石4相冲宝石4和宝石5 相冲,宝石5 和宝石 6 相冲。

有三个方案收集到的宝石数量最多: (1 3 5)、(1 3 6)、(1 4 6),这些方案里,最多收集到的宝石数量都是 3,所以程序输出 3。

输入描述

第一行输入两个正整数N和 M(2<=N<=100,2<=M<=2000),分别表示游戏里的宝石数量和 M 对相冲的宝石,两个正整数之间用一个空格隔开。

接下来输入 M 行,每行两个正数,分别表示相冲的两颗宝石的编号,两个正整数之间用1个空格隔开

输出描述

输出一个整数,表示聪聪在游戏里最多能够收集到的宝石数量

样例输入

6 8

1 2

2 3

2 4

2 5

2 6

3 4

4 5

5 6

样例输出

3

答案解析

相关题目

10 编程实现:简单炸弹超人 题目描述 有一块矩形游戏场地,场地被分为N x M的网格(4<=N<=100,4<=M<=10),其中一部分小方格是水域,另一部分小方格是陆地
9 编程实现:收集宝石 题目描述: 聪聪在玩冒险岛游戏,为了召唤法力更强大的神龙,他必须尽可能收集更多的魔法宝石,每颗宝石都有不同的功效。不过在游戏里,几乎每一颗魔法宝石都会和另外一颗宝石相冲。相
8编程实现: 九进制回文数 提示信息 回文数: 反向排列与原来一样的数就叫做回文数 例如,12321 是回文数,1231 不是回文数。 九进制数: 指逢9进位的一种进位计数制,以0、1、2、3
7编程实现: 相邻身高差 限制:1000MS 内存限制: 65536KB 题目描述: 有N (4<=N<=100) 名同学站成一队,已知每名同学的身高 (单位: 厘米),请比较该队
6:促销活动 【题目大意】:某超市搞促销活动,活动内容:购物金额每满200元(含200元)就可以享受“满200减25”的优惠。已知小维的购物金额为N(1<N<=1000000)。请计算出
5、执行语句 int a[3][4={{1,2},{3},{4,5,6,7}};后a[1][2]和a[2][1]的值分别为( )。 A.2 、 3 B. 0 、 5 C. 2、 5 D. 5
4、下列选项中,判断a不等于0且b不等于0的正确的条件表达式是( ) A. !(a==0 && b==0) B. !a=0 && !b=0 C.a && b D.!((a!=0) && (b!
3、执行以下代码,输出结果是(  )  #include <iostream>  using namespace std;  int func(int x)  {     if(x &l
2、已定义:int a=02023,b=0x212;a+b的值是( ) A.八进制4771 B.十进制1573 C.十进制2553 D.十六进制9F9.
1.执行 cout<<'9'*3;语句后,输出结果是( ) A. 27 B.9*3 C.999 D.171

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢