【DFS】CODE[VS] 1091 传染病控制
来源:互联网 发布:java中设计模式详解 编辑:程序博客网 时间:2024/05/21 17:13
点击进入异世界
前排膜DQS
真·暴力
暴力邻接表建图,然后按轶搜索(预处理出深度),搜到没有儿子时返回
搜索这类题,思想都没什么难度,主要考察代码能力(QAQ)
#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm> const int maxn = 5005;using namespace std;int n,p;int tot;int head[maxn];int rank[maxn],fa[maxn];bool used[maxn];bool gun[maxn];int ans = 0x3ffffff;struct node{ int f,t,next;}e[maxn << 3];inline int read(){ int f = 1; int data = 0; char ch; while(ch < '0'||ch > '9') { ch = getchar(); if(ch == '-') {f = -1;} } do { data = data*10+ch-'0'; ch = getchar(); }while(ch >= '0'&&ch <= '9');return f*data;}inline void build(int x,int y){ tot += 1; e[tot].f = x; e[tot].t = y; e[tot].next = head[x]; head[x] = tot;}inline void dfsrank(int x){ if(used[x])return; used[x]=1; for(int i = head[x];i;i = e[i].next) { int u = e[i].t; if(used[u] == 0) { fa[u] = x; rank[u] = rank[x]+1; dfsrank(u); } }}inline void violent(int c,int sum){ bool hson = 1; if(sum >= ans)return; for(int i = 1;i <= n;i++) { if(rank[i] == c&&gun[i] == 1) { for(int j = head[i];j;j = e[j].next) { int u = e[j].t; if(fa[u] == i) { hson = 0; gun[u] = 1; sum++; } } } } for(int i = 1;i <= n;i++) { if(rank[i] == c+1&&gun[i]) { sum--; gun[i] = 0; violent(c+1,sum); gun[i] = 1; sum++; } } for(int i = 1;i <= n;i++) if(rank[i] == c&&gun[i]) { for(int j = head[i];j;j = e[j].next) { int u = e[j].t; if(fa[u] == i) { gun[u] = 0; sum--; } } } if(hson == 1) ans = min(ans,sum);}int main(){ n = read(); p = read(); for(int i = 1;i <= p;i++) { int a,b; a = read(); b = read(); build(a,b); build(b,a); } rank[1] = 1; gun[1] = 1; dfsrank(1); violent(1,1); printf("%d",ans);return 0;}
THE END
强无敌
By Peacefuldoge
http://blog.csdn.net/loi_peacefuldog
1 0
- 【DFS】CODE[VS] 1091 传染病控制
- CODEVS 1091 传染病控制
- 洛谷 1041 [NOIP2003] 传染病控制 dfs
- 传染病控制
- 传染病控制
- 【NOIP2003提高组T4】传染病控制-DFS剪枝
- [NOIP 2003] 传染病控制:创造性地DFS,最优性剪枝
- VS Code 版本控制
- CODE[VS]1215 迷宫(DFS
- [NOIP2003]传染病控制【搜索】
- 【noip2003】传染病控制
- Codevs 传染病控制
- NOIP2003 传染病控制
- 洛谷 P1041 传染病控制
- NOIP 2003 传染病控制
- 洛谷1041 传染病控制
- 算法提高 传染病控制
- 算法提高 传染病控制
- css 用坐标方式添加图片
- “XESS 创逸”携手李安致敬电影艺术背后传递了怎样的信号?
- 原生php upload
- 【Matlab】编程风格摘录
- js模板引擎
- 【DFS】CODE[VS] 1091 传染病控制
- CSS学习中的背景用法大全
- RecycleView配合SwipeRefreshLayout实现轻量级上拉刷新下拉加载,外加牛X的Adapter
- Python出现编码错误
- ThinkPHP+Excel 数据导出
- Cpp Concurrency In Action(读书笔记5)——基于锁的并发数据结构设计
- 浮动
- Java网络爬虫crawler4j学习笔记<17> CrawlConfig类
- ui框架