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 ...
随机推荐
- Google提议使用Jsonnet来增强JSON
Google开源了一门配置语言Jsonnet来取代JSON,它完全向后兼容并加入了一些新特性:注释.引用.算术运算.条件操作符,数组和对象内含,引入,函数,局部变量,继承等.Jsonnet程序被翻译为 ...
- 如何为企业选择最理想的Linux服务器系统?
[2013年10月12日 51CTO外电头条]什么样的Linux服务器最合适您的企业?简言之,它需要为员工带来工作所需的理想支持效果. 相对于成百上千种Linux桌面系统,Linux服务器系统的数量其 ...
- 试试Navicat和Axere RP Pro吧
感觉在作头作起和沟通方面,这些东东真是提高不好效率呢~~~ 由于敏感,只作载图.
- 【HDU1538】A Puzzle for Pirates(经典的海盗问题)
[题目] Description A bunch of pirates have gotten their hands on a hoard of gold pieces and wish to di ...
- [topcoder]CoinReversing
http://community.topcoder.com/stat?c=problem_statement&pm=11473&rd=14543 简单的概率题.那道题想了想就出来了.每 ...
- 安装drupal练习网站遇到的问题
1 Skip #conjunction key in __clone() method of core/includes/database/query.inc 解决方案:https://www.dru ...
- HDU-2149 Public Sale
http://acm.hdu.edu.cn/showproblem.php?pid=2149 巴什博奕(Bash Game): Public Sale Time Limit: 1000/1000 MS ...
- UVA 11796 Dog Distance(向量)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=31962 [代码] #include<cstdio> # ...
- lightoj1051 Good and Bad (dp)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1051 题目大意:给你一个字符串,只包含大写字母和‘?’,如果字符串中出现了连续三个以上 ...
- sqlplus乱码
使用SecureCRT或是pietty_ch连接到一台安装有Oracle DB 10g的RHEL4.2的机器,linux使用的shell是默认的bash. 在bash提示符下,使用Del键或者Back ...