历届试题 分考场
时间限制:1.0s 内存限制:256.0MB

问题描述
  n个人参加某项特殊考试。
  为了公平,要求任何两个认识的人不能分在同一个考场。
  求是少需要分几个考场才能满足条件。
输入格式
  第一行,一个整数n(1<n<100),表示参加考试的人数。
  第二行,一个整数m,表示接下来有m行数据
  以下m行每行的格式为:两个整数a,b,用空格分开 (1<=a,b<=n) 表示第a个人与第b个人认识。
输出格式
  一行一个整数,表示最少分几个考场。
样例输入

5
8
1 2
1 3
1 4
2 3
2 4
2 5
3 4
4 5

样例输出

4

样例输入

5
10
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5

样例输出

5

Ac_code:

#include <iostream>
using namespace std;
int f[105][105];
int v[105][105];
int c[105];
int flag,ans;
int n,m,a,b;
void DFS(int s,int tot,int num)
{if(tot >= ans)//最优性剪枝{return;}if(num == n)//分配完了{if(tot < ans)ans = tot;return; }for(int i = 1; i <= tot; i++)//tot代表已经分了tot间教室{flag = 1;for(int j = 1; j <= c[i]; j++)//c[i]表示第i间教室里有c[i]个人{if(f[s][v[i][j]])//v[i][j]代表第i间教室第j个人的编号{flag = 0;break;}}if(flag)//可以分配到已经存在的教室{v[i][++c[i]] = s;DFS(s+1,tot,num+1);--c[i];} }v[tot+1][++c[tot+1]] = s;//不能分配到已经存在的教室,新开一间教室把他放进去DFS(s+1,tot+1,num+1);--c[tot+1];
}
int main()
{cin>>n>>m;for(int i = 0; i < m; i++){cin>>a>>b;f[a][b] = f[b][a] = 1;}ans = n;DFS(1,0,0);cout<<ans<<endl;return 0;
}

历届试题 分考场(DFS,染色问题)相关推荐

  1. 【蓝桥】 历届试题 分考场(DFS,回溯,剪枝,无向图染色问题)

    历届试题 分考场 时间限制:1.0s 内存限制:256.0MB 问题描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人不能分在同一个考场. 求是少需要分几个考场才能满足条件. 输入格式 第 ...

  2. 蓝桥杯 历届试题 分考场 (DFS)-----C语言—菜鸟级

    问题 1874: [蓝桥杯][2017年第八届真题]分考场 时间限制: 1Sec 内存限制: 128MB 提交: 62 解决: 12 题目描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人 ...

  3. 蓝桥杯 历届试题 分考场(DFS+枚举)

    传送门 题目描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人不能分在同一个考场. 求是少需要分几个考场才能满足条件. 输入 第一行,一个整数n(1<n<100),表示参加考试 ...

  4. 蓝桥杯 历届试题 分考场(C语言)

    分考场 问题描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人不能分在同一个考场. 求是少需要分几个考场才能满足条件. 输入格式 第一行,一个整数n(1<n<100),表示参加 ...

  5. java 蓝桥杯历届试题 分糖果(题解)

    试题 历届试题 分糖果 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 有n个小朋友围坐成一圈.老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半 ...

  6. 【蓝桥杯】历届试题 分糖果

    历届试题 分糖果   时间限制:1.0s   内存限制:256.0MB 问题描述 有n个小朋友围坐成一圈.老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边 ...

  7. 蓝桥杯c语言试题幸运数,蓝桥杯  历届试题 幸运数  dfs

    时间限制:1.0s   内存限制:256.0MB 问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成 . 首先从1开始写出自然数1,2,3,4,5,6,. ...

  8. 蓝桥杯 历届试题 分糖果(模拟)

    传送门 题目描述 有n个小朋友围坐成一圈.老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一半给左手边的孩子. 一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而 ...

  9. [蓝桥杯][历届试题]网络寻路-dfs,图的遍历

    题目描述 X 国的一个网络使用若干条线路连接若干个节点.节点间的通信是双向的.某重要数据包,为了安全起见,必须恰好被转发两次到达目的地.该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同 ...

最新文章

  1. 修改echarts环形图的牵引线及文字位置
  2. 032-element模块
  3. 傻瓜教程:asp.net(c#) 如何配置authentication,完成基于表单的身份验证
  4. 如何利用计算机解决问题,《用计算机解决问题的一般步骤》讲课教案
  5. 通过Spring集成从Hibernate 3迁移到4
  6. Schedulerx2.0分布式计算原理最佳实践
  7. canvas笔记-lineTo()与moveTo()的区别
  8. KesionICMS智能建站系统v8源码
  9. poi判断合并行_POI实战2——实战代码
  10. tf.nn.sigmoid_cross_entropy_with_logits 分类
  11. 复杂网络matlab程序,复杂网络matlab程序
  12. U盘装机大师安装GHOST WIN10系统
  13. 柯美文件服务器,柯尼卡美能达复印机共享SMB文件扫描
  14. 扫盲:集线器、网桥、交换机、路由器、网关大解析
  15. 风力发电系统的一些常见名词
  16. 崔宝秋国际开源经验在小米开花 | 开源英雄
  17. 小程序RSA加密 - 公钥加密
  18. viper4android 系统io错误,golang配置信息库viper的使用
  19. 解决QT提示No previous extern declaration for non-static variable 'sss'
  20. 高端服务器系统,浪潮高端服务器分析

热门文章

  1. 推荐一些能能提高生产力的 Python 库
  2. vue 插件 滑块验证_VUE接入腾讯验证码功能(滑块验证)备忘
  3. 卷积云神经网络_2018.10
  4. u盘修复linux系统,360u盘修复工具官方版u盘pe安装linux系统
  5. memcached客户端_小水谈Memcache---Memcached安装
  6. lstm中look_back的大小选择_基于机器学习检测僵尸网络中的域名生成算法
  7. python打印文件中的前三行_linux利用grep查看打印匹配的下几行或前后几行的命令...
  8. floyd算法和动态规划
  9. mysql ---- innodb-1- 体系结构、文件、表
  10. postgresql后期给开发建表的权限问题