P2932 [USACO09JAN]地震造成的破坏Earthquake Damage 爆搜
这题怎么这么水~~~本来以为挺难的一道题,结果随便一写就过了。。。本来还不知道损坏的牛棚算不算,结果不明不白就过了。。。
题干:
- 农夫John的农场遭受了一场地震.有一些牛棚遭到了损坏,但幸运地,所有牛棚间的路经都还能使用. FJ的农场有P( <= P <= ,)个牛棚,编号1..P. C( <= C <= ,)条双向路经联接这些牛棚,编号为1..C. 路经i连接牛棚a_i和b_i ( <= a_i<= P; <= b_i <= P).路经可能连接a_i到它自己,两个牛棚之间可能有多条路经.农庄在编号为1的牛棚. N ( <= N <= P)头在不同牛棚的牛通过手机短信report_j( <= report_j <= P)告诉FJ它们的牛棚(report_j)没有损坏,但是它们无法通过路经和没有损坏的牛棚回到到农场. 当FJ接到所有短信之后,找出最小的不可能回到农庄的牛棚数目.这个数目包括损坏的牛棚. 注意:前50次提交将提供在一些测试数据上的运行结果.
- 输入输出格式
- 输入格式:
- * Line : Three space-separated integers: P, C, and N
- * Lines ..C+: Line i+ describes cowpath i with two integers: a_i and b_i
- * Lines C+..C+N+: Line C++j contains a single integer: report_j
- 输出格式:
- * Line : A single integer that is the minimum count of pastures from which a cow can not return to the barn (including the damaged pastures themselves)
- 输入输出样例
- 输入样例#: 复制
- 输出样例#: 复制
代码:
- #include<iostream>
- #include<cstdio>
- #include<cmath>
- #include<queue>
- #include<algorithm>
- #include<cstring>
- using namespace std;
- #define duke(i,a,n) for(int i = a;i <= n;i++)
- #define lv(i,a,n) for(int i = a;i >= n;i--)
- #define clean(a) memset(a,0,sizeof(a))
- const int INF = << ;
- typedef long long ll;
- typedef double db;
- template <class T>
- void read(T &x)
- {
- char c;
- bool op = ;
- while(c = getchar(), c < '' || c > '')
- if(c == '-') op = ;
- x = c - '';
- while(c = getchar(), c >= '' && c <= '')
- x = x * + c - '';
- if(op) x = -x;
- }
- template <class T>
- void write(T x)
- {
- if(x < ) putchar('-'), x = -x;
- if(x >= ) write(x / );
- putchar('' + x % );
- }
- int p,c,n,lst[],len = ;
- struct node
- {
- int l,r,nxt;
- }a[];
- void add(int x,int y)
- {
- a[++len].l = x;
- a[len].r = y;
- a[len].nxt = lst[x];
- lst[x] = len;
- // cout<<len<<" "<<a[len].l<<" "<<a[len].r<<endl;
- }
- int vis[];
- void dfs(int x)
- {
- if(vis[x] == - || vis[x] == )
- return;
- vis[x] = ;
- for(int k = lst[x];k;k = a[k].nxt)
- {
- int y = a[k].r;
- if(vis[y] == )
- dfs(y);
- }
- }
- int main()
- {
- clean(vis);
- read(p);read(c);read(n);
- duke(i,,c)
- {
- int g,h;
- read(g);
- read(h);
- add(g,h);
- add(h,g);
- }
- duke(i,,n)
- {
- int k;
- read(k);
- vis[k] = -;
- for(int j = lst[k];j;j = a[j].nxt)
- {
- int y = a[j].r;
- vis[y] = -;
- }
- }
- dfs();
- int tot = ;
- duke(i,,p)
- {
- if(vis[i] == || vis[i] == -)
- tot++;
- }
- write(tot);
- return ;
- }
P2932 [USACO09JAN]地震造成的破坏Earthquake Damage 爆搜的更多相关文章
- 洛谷 P2932 [USACO09JAN]地震造成的破坏Earthquake Damage
P2932 [USACO09JAN]地震造成的破坏Earthquake Damage 题目描述 Wisconsin has had an earthquake that has struck Farm ...
- bzoj 1585: [Usaco2009 Mar]Earthquake Damage 2 地震伤害
1585: [Usaco2009 Mar]Earthquake Damage 2 地震伤害 Description Farmer John的农场里有P个牧场,有C条无向道路连接着他们,第i条道路连接着 ...
- 【bzoj1585】[Usaco2009 Mar]Earthquake Damage 2 地震伤害 网络流最小割
题目描述 Farmer John的农场里有P个牧场,有C条无向道路连接着他们,第i条道路连接着两个牧场Ai和Bi,注意可能有很多条道路连接着相同的Ai和Bi,并且Ai有可能和Bi相等.Farmer J ...
- BZOJ 1585: Earthquake Damage 2 地震伤害 网络流 + 最小割
Description Farmer John的农场里有P个牧场,有C条无向道路连接着他们,第i条道路连接着两个牧场Ai和Bi,注意可能有很多条道路连接着相同的Ai和Bi,并且Ai有可能和Bi相等.F ...
- [USACO09JAN]Earthquake Damage
嘟嘟嘟 刚开始因为没看到只能走没有损坏的农场,磨叽了20多分钟……不管了,写题解吧. 首先如果一个点不能到达原点,那么和他相邻的点也不能到达原点,所以刚开始我们把不能走的点和他相邻的点都打上标记,然后 ...
- 【BZOJ】1585: [Usaco2009 Mar]Earthquake Damage 2 地震伤害
[题意]给定无向图,现在可能有一些点已经被删除,只给出信息是c个点未被删除且不能到达结点1,求最少的删除点个数. [算法]最小割 [题解]本题和1的区别是:1求的是最少的不能到达1的结点数,那么就把损 ...
- BZOJ1585: [Usaco2009 Mar]Earthquake Damage 2 地震伤害
n<=3000个点m<=20000条无向边的图,有p<=n个出发点,每个出发点都不可拆,现拆一些点使每个出发点都不能到达点1,求最小点数. 简单的最小割.每个点拆成两个x和y,无向边 ...
- bzoj 1585: [Usaco2009 Mar]Earthquake Damage 2 地震伤害【最小割】
枚举建图.jpg 一开始建的图挂了,于是枚举了几种建图方式-- 因为要删点,所以拆点,连接(i,i',1),对于原来图上的边(u,v),连接(u',v,inf),(v',u,inf),然后连接(s,i ...
- FZU 1844 Earthquake Damage(最大流最小割)
Problem Description Open Source Tools help earthquake researchers stay a step ahead. Many geological ...
随机推荐
- elasticsearch——海量文档高性能索引系统
elasticsearch elasticsearch是一个高性能高扩展性的索引系统,底层基于apache lucene. 可结合kibana工具进行可视化. 概念: index 索引: 类似SQL中 ...
- SQL Server建库-建表-建约束
----------------------------------------SQL Server建库-建表-建约束创建School数据库------------------------------ ...
- 体验SqlServer Express 2014
想使用SQLServer Express记录一些数据,但使用起来并不令人愉快.SQLServer Express是一个免费的可用数据库,但似乎设置了一些门槛,多少显得并不真心实意.抛开版本(技术)限制 ...
- 10.3 io流 正篇 FileReader FileWriter读写代码
一.FileWriter 小节: 1)FileWriter fw = new FileWriter("a.txt",true);//表示追加写入,默认是false.正常情况:执行多 ...
- element select下拉框绑定number类型
vue 开发中element-ui库的switch开关绑定number类型数据不成功问题 解决方法
- sysbench基准测试工具
一.简介SysBench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.当前功能允许测试的系统参数有:file I/O performance (文件I ...
- Codeforces 919C - Seat Arrangements
传送门:http://codeforces.com/contest/919/problem/C 给出一张n×m的座位表(有已占座位和空座位),请选择同一行(或列)内连续的k个座位.求选择的方法数. H ...
- Navicat premium连接Oracle报ORA-12514错误
1:ORA-12514 原因:Service Name/SID中的值填的有问题,默认的是ORCL,这个值如果在安装Oracle的时候填的不是ORCL,那就会出现这个错误 解决方法:找到Oracle安装 ...
- Git学习总结(13)——使用git.oschina作为自己的源代码在线管理库
工作有几年了,期间积累了很多的代码片段,一直想找个存放的地方,方便随时的取用.以前可能是放在自己电脑的硬盘中,但毕竟这样使用起来还是有很多不便. 下面通过码云来说明 一下设置过程.其实,码云和GitH ...
- JPA学习(基于hibernate)
参考博客:https://blog.csdn.net/baidu_37107022/article/details/76572195 常用注解: https://blog.csdn.net/eastl ...