博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3256
阅读量:6095 次
发布时间:2019-06-20

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

思路:DFS全图,记录每个牧场可以到达的牛的数量,若pa[v] == K,则所有牛可以到达。
#include
#include
#include
#define MAX 10005using namespace std;typedef struct{ int to, next;}Node;Node edge[MAX];int head[1005], vis[1005], pa[MAX], in[MAX];void dfs(int s){ for(int i = head[s];i != -1;i = edge[i].next){ int v = edge[i].to; if(!vis[v]){ pa[v] ++; vis[v] = 1; dfs(v); } }}int main(){ int K, N, M, u, v; /* freopen("in.c", "r", stdin); */ while(~scanf("%d%d%d", &K, &N, &M)){ memset(head, -1, sizeof(head)); memset(pa, 0, sizeof(pa)); for(int i = 1;i <= K;i ++){ scanf("%d", &in[i]); pa[in[i]] ++; } for(int i = 1;i <= M;i ++){ scanf("%d%d", &u, &v); edge[i].to = v; edge[i].next = head[u]; head[u] = i; } for(int i = 1;i <= K;i ++){ memset(vis, 0, sizeof(vis)); vis[in[i]] = 1; dfs(in[i]); } int ans = 0; for(int i = 1;i <= N;i ++) if(pa[i] == K) ans ++; cout << ans << endl; } return 0;}
 

转载于:https://www.cnblogs.com/wangzhili/p/3950299.html

你可能感兴趣的文章
USACO 土地购买
查看>>
【原创】远景能源面试--一面
查看>>
B1010.一元多项式求导(25)
查看>>
10、程序员和编译器之间的关系
查看>>
前端学习之正则表达式
查看>>
配置 RAILS FOR JRUBY1.7.4
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
http://www.blogjava.net/pdw2009/archive/2007/10/08/151180.html
查看>>
hadoop(6)---mapred-site.xml 详解以及常用配置。
查看>>
修改GRUB2背景图片
查看>>
Ajax异步
查看>>
好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
查看>>
JAVA GC
查看>>
codeforce 599B Spongebob and Joke
查看>>
3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
查看>>
9、Dubbo-配置(4)
查看>>
前端第七天
查看>>
BZOJ 2190[SDOI2008]仪仗队
查看>>
图解SSH原理及两种登录方法
查看>>
[转载] 七龙珠第一部——第058话 魔境圣地
查看>>