博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【BZOJ】1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐(dfs)
阅读量:6255 次
发布时间:2019-06-22

本文共 2389 字,大约阅读时间需要 7 分钟。

水题。。

dfs记录能到达的就行了。。

#include 
#include
#include
#include
#include
#include
#include
using namespace std;#define rep(i, n) for(int i=0; i<(n); ++i)#define for1(i,a,n) for(int i=(a);i<=(n);++i)#define for2(i,a,n) for(int i=(a);i<(n);++i)#define for3(i,a,n) for(int i=(a);i>=(n);--i)#define for4(i,a,n) for(int i=(a);i>(n);--i)#define CC(i,a) memset(i,a,sizeof(i))#define read(a) a=getint()#define print(a) printf("%d", a)#define dbg(x) cout << #x << " = " << x << endl#define printarr(a, n, m) rep(aaa, n) { rep(bbb, m) cout << a[aaa][bbb]; cout << endl; }inline const int getint() { int r=0, k=1; char c=getchar(); for(; c<'0'||c>'9'; c=getchar()) if(c=='-') k=-1; for(; c>='0'&&c<='9'; c=getchar()) r=r*10+c-'0'; return k*r; }inline const int max(const int &a, const int &b) { return a>b?a:b; }inline const int min(const int &a, const int &b) { return a

 

 


 

 

Description

The cows are having a picnic! Each of Farmer John's K (1 <= K <= 100) cows is grazing in one of N (1 <= N <= 1,000) pastures, conveniently numbered 1...N. The pastures are connected by M (1 <= M <= 10,000) one-way paths (no path connects a pasture to itself). The cows want to gather in the same pasture for their picnic, but (because of the one-way paths) some cows may only be able to get to some pastures. Help the cows out by figuring out how many pastures are reachable by all cows, and hence are possible picnic locations.

  K(1≤K≤100)只奶牛分散在N(1≤N≤1000)个牧场.现在她们要集中起来进餐.牧场之间有M(1≤M≤10000)条有向路连接,而且不存在起点和终点相同的有向路.她们进餐的地点必须是所有奶牛都可到达的地方.那么,有多少这样的牧场呢?

Input

* Line 1: Three space-separated integers, respectively: K, N, and M * Lines 2..K+1: Line i+1 contains a single integer (1..N) which is the number of the pasture in which cow i is grazing. * Lines K+2..M+K+1: Each line contains two space-separated integers, respectively A and B (both 1..N and A != B), representing a one-way path from pasture A to pasture B.

 第1行输入K,N,M.接下来K行,每行一个整数表示一只奶牛所在的牧场编号.接下来M行,每行两个整数,表示一条有向路的起点和终点

Output

* Line 1: The single integer that is the number of pastures that are reachable by all cows via the one-way paths.

    所有奶牛都可到达的牧场个数

Sample Input

2 4 4
2
3
1 2
1 4
2 3
3 4
INPUT DETAILS:
4<--3
^ ^
| |
| |
1-->2
The pastures are laid out as shown above, with cows in pastures 2 and 3.

Sample Output

2
牧场3,4是这样的牧场.

HINT

Source

转载地址:http://fmjsa.baihongyu.com/

你可能感兴趣的文章
一半人将因人工智能失业?麻省理工科学家表示太可笑!
查看>>
‘生逢其时’的文化IP该如何借力科技?_创成汇
查看>>
java B2B2C Springcloud电子商城系统--------负载均衡(Load Balance)
查看>>
Java springcloud B2B2C o2o多用户商城 springcloud架构 (一)服务的注册与发现(Eureka)...
查看>>
手把手教你写电商后台管理系统(七) - 用户模块
查看>>
比特币、比特币现金的下一步是什么?Craig Wright博士说,可替代现金
查看>>
字节码执行引擎-类加载及执行子系统的案例与实战
查看>>
微软整合实验(三):AD域环境的搭建,基于Server 2008 R2
查看>>
Linux 用户管理
查看>>
linux 终端颜色代码
查看>>
oracle的drop命令
查看>>
用R语言和java实现随机生成手机号码
查看>>
Oracle DG 之-- Remove DG Broker
查看>>
5.2 let it snow--game programming gems 5 笔记
查看>>
解决error: Failed dependencies:libodbc.so.2()的错误
查看>>
SCOM 2012系列⑤邮件通知上
查看>>
ionic3 引入jquery
查看>>
Unable to connect to the MKS: Internal error after cloning
查看>>
How to check server memory model for extend the physical memory
查看>>
Running nested VM on vSphere 5
查看>>