//分考场 2017年第八届决赛 lanqiaoOJ 109
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;
public class Main {
static InputReader in = new InputReader(new BufferedInputStream(System.in));
static PrintWriter out = new PrintWriter(System.out);
static int n, m, cnt = 0;
static int[][] adj = new int[105][105];
static int[][] room = new int[105][105];
static int[] len = new int[105]; // 存放每个考场的人数
static int res = Integer.MAX_VALUE;
static void dfs(int u, int total) {
if (total >= res) {
return ;
}
if (u == n+1) {
res = Math.min(res, total);
return ;
}
// 遍历所有的考场, 哪个考场可以放下当前学生, 则填进去
int i;
for (i = 0; i < total; i++) {
boolean flag = true;
for (int j = 0; j < len[i]; j++) {
int v = room[i][j];
if (adj[u][v] == -1) {
flag = false;
break;
}
}
if (flag) {
room[i][len[i]++] = u;
dfs(u+1, total);
len[i]--; // 回溯
}
}
// 如果均不能放, 则重新建立一个考场
if (i == total) {
// 均有关,开辟新考场
room[total][len[total]++] = u;
dfs(u+1, total+1);
len[total]--;
}
}
public static void main(String[] args) {
n = in.nextInt();
m = in.nextInt();
for (int i = 0; i < m; i++) {
int a = in.nextInt();
int b = in.nextInt();
adj[a][b] = -1;
adj[b][a] = -1;
}
dfs(1, 0);
out.println(res);
out.flush();
out.close();
}
static class InputReader {
static BufferedReader br;
static StringTokenizer st;
public InputReader(InputStream stream) {
br = new BufferedReader(new InputStreamReader(stream), 32768);
st = null;
}
public String next() {
while(st == null || !st.hasMoreTokens()) {
try {
st = new StringTokenizer(br.readLine());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return st.nextToken();
}
public String readLine() {
String s = null;
try {
s = br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return s;
}
public int nextInt() {
return Integer.parseInt(next());
}
public Double nextDouble() {
return Double.parseDouble(next());
}
public Long nextLong() {
return Long.parseLong(next());
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
程序设计竞赛专题挑战教程配套代码
共314个文件
cpp:106个
py:104个
java:104个
需积分: 0 0 下载量 123 浏览量
2024-03-13
21:14:20
上传
评论
收藏 188KB RAR 举报
温馨提示
《程序设计竞赛专题挑战教程》人民邮电出版社 蓝桥杯大赛组委会 组编 罗勇军 杨培林 编著的配套教程书里的代码
资源推荐
资源详情
资源评论
收起资源包目录
程序设计竞赛专题挑战教程配套代码 (314个子文件)
第6章区间修改区间求和.cpp 3KB
第10章蓝桥王国.cpp 2KB
第6章最长不下降子序列.cpp 2KB
第8章数的拆分.cpp 2KB
第6章最大数.cpp 2KB
第4章双向排序.cpp 2KB
第5章迷宫2019.cpp 2KB
第5章迷宫2017.cpp 2KB
第5章分考场.cpp 2KB
第4章技能升级.cpp 2KB
第9章单词接龙.cpp 2KB
第2章矩形拼接.cpp 2KB
第9章编程作业.cpp 2KB
第3章队列操作2.cpp 2KB
第6章七段码.cpp 2KB
第10章随机数据下的最短路问题.cpp 1KB
第5章全球变暖.cpp 1KB
第9章小明的字符串.cpp 1KB
第6章发现环.cpp 1KB
第3章自行车停放.cpp 1KB
第6章选数异或.cpp 1KB
第10章补给.cpp 1KB
第7章统计所有数码的出现个数.cpp 1KB
第8章垒骰子.cpp 1KB
第4章外卖店优先级.cpp 1KB
第3章汉诺塔2.cpp 1KB
第8章点和线段关系.cpp 1KB
第8章点和直线关系.cpp 1KB
第5章路径之谜.cpp 1KB
第4章荷马史诗.cpp 1KB
第5章跳蚱蜢.cpp 1KB
第10章修建公路.cpp 1KB
第6章小朋友排队.cpp 1KB
第4章分巧克力.cpp 1KB
第3章砍竹子.cpp 1KB
第4章防御力.cpp 1KB
第3章FBI树.cpp 1KB
第7章二进制问题.cpp 1KB
第8章平面切分.cpp 1KB
第2章回形取数.cpp 1KB
第7章矩阵计数.cpp 1KB
第10章出差.cpp 1KB
第10章修建公路-kruskal.cpp 1KB
第8章方阵幂次.cpp 1KB
第7章坐标搜寻.cpp 1KB
第7章糖果.cpp 1KB
第5章四阶幻方.cpp 1KB
第6章逆序对.cpp 1KB
第4章灵能传输.cpp 1KB
第2章付账问题.cpp 1016B
第8章分解质因数.cpp 998B
第4章统计子矩阵.cpp 992B
第4章跳石头.cpp 976B
第4章日志统计.cpp 961B
第7章生命之树.cpp 936B
第4章区间最大值.cpp 927B
第7章过河卒.cpp 900B
第4章奖学金.cpp 894B
第5章剪格子.cpp 884B
第4章一元三次方程求解.cpp 882B
第2章蜂巢.cpp 872B
第5章方格分割.cpp 853B
第8章找素数.cpp 847B
第3章自行车停放list.cpp 841B
第7章大臣的旅费.cpp 841B
第6章蓝桥幼儿园.cpp 802B
第8章选数.cpp 796B
第3章汉诺塔3.cpp 793B
第8章笨小猴.cpp 768B
第3章阶乘计算.cpp 760B
第8章最大比例.cpp 753B
第8章爬树的甲壳虫.cpp 737B
第3章完全二叉树的权值.cpp 732B
第5章寒假作业.cpp 719B
第7章小明的背包2.cpp 699B
第5章正则问题.cpp 693B
第8章矩阵相乘.cpp 688B
第6章修改数组.cpp 673B
第7章回路计数.cpp 665B
第7章字符串转换.cpp 657B
第8章Hankson的趣味题.cpp 643B
第4章带分数.cpp 622B
第5章四平方和.cpp 616B
第6章合根植物.cpp 616B
第7章数字三角形.cpp 583B
第3章汉诺塔.cpp 575B
第3章高精度加法.cpp 572B
第8章快速幂.cpp 523B
第7章蓝桥骑士.cpp 517B
第7章排列数.cpp 511B
第7章最长公共子序列.cpp 497B
第8章刷题统计.cpp 496B
第3章小明的衣服.cpp 492B
第3章队列操作.cpp 485B
第4章拼数.cpp 480B
第4章错误票据.cpp 475B
第4章蓝桥杯2022省赛求和.cpp 427B
第4章统计数字.cpp 421B
第7章砝码称重.cpp 420B
第2章平方和.cpp 411B
共 314 条
- 1
- 2
- 3
- 4
资源评论
MrYiRan
- 粉丝: 227
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 本科毕业设计基于C# wpf人脸识别的考勤系统的设计与实现源码.zip
- 基于Ruoyi+uniapp实现学生考勤系统 学生考勤源码+项目说明.zip
- feae6bc968ca68a099455d8b8a8dea35
- 基于Pytorch训练CIRAR10上分类算法.zip
- Pytorch-pytorch深度学习教程之Tensorboard.zip
- 基于C++和Python开发yolov8-face作为人脸检测器dlib作为人脸识别器的人脸考勤系统源码+项目说明.zip
- Pytorch-pytorch深度学习教程之变分自动编码器.zip
- Pytorch-pytorch深度学习教程之神经风格迁移.zip
- Pytorch-pytorch深度学习教程之深度残差网络.zip
- Pytorch-pytorch深度学习教程之循环神经网络.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功