noip 2003 传染病控制(历史遗留问题2333)
/*codevs 1091 搜索 几个月之前写的70分 今天又写了一遍 并且找到了错误 */
#include<cstdio>
#include<vector>
#define maxn 310
using namespace std;
int n,m,num,head[maxn],fa[maxn],ans=0x7fffffff,f[maxn];
vector<int>G[maxn],Son[maxn];
struct node{
int v,pre;
}e[maxn*];
void Add(int from,int to){
num++;e[num].v=to;
e[num].pre=head[from];
head[from]=num;
}
void Build(int now,int from,int dep){
G[dep].push_back(now);fa[now]=from;
for(int i=head[now];i;i=e[i].pre){
int v=e[i].v;
if(v!=from){
Son[now].push_back(v);
Build(v,now,dep+);
}
}
}
void Dfs(int c,int sum){//当前深度 已经挂掉几个
int num=;
if(sum>=ans)return;
for(int i=;i<G[c].size();i++){
int x=G[c][i];
if(f[x]==)num++;//会挂掉的人数
}
if(num==){//没有人会挂掉 停止搜索
ans=min(ans,sum);return;
}
for(int i=;i<G[c].size();i++){
int x=G[c][i];
if(f[x]){
for(int k=;k<Son[x].size();k++)
f[Son[x][k]]=;
}
}
for(int i=;i<G[c].size();i++){
int x=G[c][i];if(f[x])continue;
for(int k=;k<Son[x].size();k++)
f[Son[x][k]]=;
f[x]=;Dfs(c+,sum+num-);f[x]=;
for(int k=;k<Son[x].size();k++)
f[Son[x][k]]=;
}
for(int i=;i<G[c].size();i++){//回溯 回溯 回溯 要 彻底
int x=G[c][i];
if(f[x]){
for(int k=;k<Son[x].size();k++)
f[Son[x][k]]=;
}
} }
int main()
{
freopen("epidemic.in","r",stdin);
freopen("epidemic.out","w",stdout);
scanf("%d%d",&n,&m);
int u,v;
for(int i=;i<=m;i++){
scanf("%d%d",&u,&v);
Add(u,v);Add(v,u);
}
Build(,,);Dfs(,);
printf("%d\n",ans);
return ;
}
noip 2003 传染病控制(历史遗留问题2333)的更多相关文章
- [COGS 0107][NOIP 2003] 传染病控制
107. [NOIP2003] 传染病控制 ★★★ 输入文件:epidemic.in 输出文件:epidemic.out 简单对比时间限制:1 s 内存限制:128 MB [问题背景] ...
- 『练手』005 Laura.SqlForever历史遗留 的 架构思想缺陷
005 Laura.SqlForever历史遗留 的 架构思想缺陷 我们 比较一下 Laura.WinFramework 和 Laura.XtraFramework 的差异: Laura.WinFra ...
- HTML的历史与历史遗留问题
1. <style type="text/css"> 从前,HTML的设计者认为以后应该还会有其他样式,不过如今我们已经醒悟,事实表明,完全可以只使用<style ...
- 如何应对HR小姐姐的千年历史遗留问题:你为什么从上家公司离职?
最近找我询问面试问题的学生比较多,而且问的问题基本上都是课堂上讲过的,好吧,在此心疼自己三秒钟. 那么今天就为各位宝宝们整理一下,如何优雅的回复HR小姐姐的这个千年历史遗留问题:你为什么从上家公司离职 ...
- NOIP 2003解题报告
第一题(神经网络): 题目大意,给出一些点,每个点都有2个值,c和u,给出一些有向边,权值为w.入度为0的点的c已知,其它点的c未知,每个入度不为0的点node的c等于sum(c[k]*w[k][no ...
- java 泛型历史遗留问题
Map<String,Integer> hashMap = new HashMap<String,Integer>(); hashMap.put(); // hashMap.p ...
- 为什么使用剪切板时都用GlobalAlloc分配内存(历史遗留问题,其实没关系了)
我在使用剪切板时,发现通用的都是使用GlobalAlloc来分配内存,我就想不是说在Win32中GlobalAlloc和LocalAlloc是一样的那为什么不用LocalAlloc呢,原谅我的好奇心吧 ...
- niop 2003 传染病控制 (哎呀我氧化钙 坑了好久的搜索题)
/* 我觉得挺对的啊 实在是考虑不到有什么情况会判不了 70分 就这样吧 - - */ #include<iostream> #include<cstdio> #include ...
- 【NOIP 2003】 加分二叉树
[题目链接] 点击打开链接 [算法] 树形DP即可 [代码] #include<bits/stdc++.h> using namespace std; #define MAXN 50 in ...
随机推荐
- nutch-1.7-二次开发-Content中增加编码
1 识别nutch-1.7的编码,完成 以前1.2是在 org.apache.nutch.parse.html.HtmlParser EncodingDetector detector = new E ...
- BZOJ 4013 实验比较
Description 小D被邀请到实验室,做一个跟图片质量评价相关的主观实验.实验用到的图片集一共有\(N\)张图片,编号为\(1\)到\(N\).实验分若干轮进行,在每轮实验中,小\(D\)会被要 ...
- matlab拟合三维椭球
同学问的,查了下资料. %需要拟合的点的坐标为(0,-174.802,990.048),(0.472,-171.284,995.463),(0.413,-168.639,1003.55 ...
- jQuery Mobile 控制 select 的显示隐藏 display none
如需要动态控制下拉选择菜单select的显隐,一般考虑使用display:none这个方法. 但在jQueryMobile中的select添加自定义的css,display:none 是无效的. 解决 ...
- 为ant指定编译版本
用Eclipse的ant折腾了一天也没搞清楚为什么同样的设置ant出的class版本却不一样.后来下载个ant工具在命令行执行通过. 从网上抄得指定编译版本的方法如下: ant 运行时,必需依赖jdk ...
- buffer busy waits
Buffer busy waits 当会话想要访问缓冲区中的数据块,而该数据块正在被其他会话使用时将产生Buffer busy waits事件. 其他会话可能正从数据文件向缓冲器读取同样的数据块,或正 ...
- 使用Struts2开发Java Web应用程序(目录)
连接地址 http://blog.csdn.net/struts2/article/details/1721752
- HDOJ/HDU 1073 Online Judge(字符串处理~)
Problem Description Ignatius is building an Online Judge, now he has worked out all the problems exc ...
- 安装完出现Deprecated: Function ereg_replace() is deprecated in
php5.3说明 先不要用php5.3吧,毕竟目前版本要修改这个工作量太大,而且可能会有很多未知错误,这只能在下一版全部改用perl的正则了,都不明白php官方发 什么神经,此外不支持应该是直接屏 ...
- C_FORCE_ROOT linux环境变量设置
nano /etc/profile gedit 也可以 结尾追加 export C_FORCE_ROOT="true"