A63169 | 收集宝石
来源创意编程组
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
收集宝石
题目描述:
聪聪在玩冒险岛游戏,为了召唤法力更强大的神龙,他必须尽可能收集更多的魔法宝石,每颗宝石都有不同的功效。不过在游戏里,几乎每一颗魔法宝石都会和另外一颗宝石相冲。相冲表示这两颗宝石不能同时拥有。例如,宝石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
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?