洛谷 P2853 [USACO06DEC]牛的野餐Cow Picnic

P2853 [USACO06DEC]牛的野餐Cow Picnic

dfs

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n,m,k,p[10000],can[10000];
 4 int w[1000+15][1000+15];
 5 bool vis[10000];
 6
 7 void dfs(int pre)
 8 {
 9     for(int j=1;j<=n;j++)
10     {
11         if(w[pre][j]&&!vis[j])
12         {
13             vis[j]=1; can[j]++;
14             dfs(j);
15         }
16     }
17 }
18
19 int main()
20 {
21     scanf("%d%d%d",&k,&n,&m);
22     for(int i=1;i<=k;i++) scanf("%d",&p[i]);
23     for(int i=1;i<=m;i++)
24     {
25         int x,y;
26         scanf("%d%d",&x,&y);
27         w[x][y]=1;
28     }
29     for(int i=1;i<=n;i++) w[i][i]=1;
30     for(int i=1;i<=k;i++)
31     {
32         memset(vis,0,sizeof(vis));
33         dfs(p[i]);
34     }
35
36     int ans=0;
37     for(int i=1;i<=n;i++) if(can[i]==k) ans++;
38     printf("%d\n",ans);
39     return 0;
40 }

时间: 2024-12-20 09:48:14

洛谷 P2853 [USACO06DEC]牛的野餐Cow Picnic的相关文章

洛谷——P2853 [USACO06DEC]牛的野餐Cow Picnic

P2853 [USACO06DEC]牛的野餐Cow Picnic 题目描述 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 path

洛谷P2853 [USACO06DEC]牛的野餐Cow Picnic

题目描述 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

bzoj1648 / P2853 [USACO06DEC]牛的野餐Cow Picnic

P2853 [USACO06DEC]牛的野餐Cow Picnic 你愿意的话,可以写dj. 然鹅,对一个缺时间的退役选手来说,暴力模拟是一个不错的选择. 让每个奶牛都把图走一遍,显然那些被每个奶牛都走过的点就是符合条件的点. 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 #define N 1002 6 int val[N],in[N],k,n,m

P2853 [USACO06DEC]牛的野餐Cow Picnic

------------------------- 长时间不写代码了,从学校中抽身出来真的不容易啊 ------------------------ 链接:Miku ----------------------- 这道题的思路就在于建反图,如果每一头牛都能到达的话,那么在反图上,这个点也一定能到达每一头牛. 那么我们的目的就明确了,找到所有能在反图上找到每一头牛的点. ----------------------- #include<iostream> #include<cstdio&g

[USACO06DEC]牛的野餐Cow Picnic DFS

题目描述 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

洛谷 P2909 [USACO08OPEN]牛的车Cow Cars

P2909 [USACO08OPEN]牛的车Cow Cars 题目描述 N (1 <= N <= 50,000) cows conveniently numbered 1..N are driving in separate cars along a highway in Cowtopia. Cow i can drive in any of M different high lanes (1 <= M <= N) and can travel at a maximum speed

洛谷 P2966 [USACO09DEC]牛收费路径Cow Toll Paths

题目描述 Like everyone else, FJ is always thinking up ways to increase his revenue. To this end, he has set up a series of tolls that the cows will pay when they traverse the cowpaths throughout the farm. The cows move from any of the N (1 <= N <= 250)

洛谷 2966 [USACO09DEC]牛收费路径Cow Toll Paths

https://www.luogu.org/problem/show?pid=2966 题目描述 Like everyone else, FJ is always thinking up ways to increase his revenue. To this end, he has set up a series of tolls that the cows will pay when they traverse the cowpaths throughout the farm. The c

洛谷P2906 [USACO08OPEN]牛的街区Cow Neighborhoods

曼哈顿距离转切比雪夫距离 1 #include <bits/stdc++.h> 2 #define LL long long 3 #define GG int 4 #define For(i, j, k) for(register int i=j; i<=k; i++) 5 #define Dow(i, j, k) for(register int i=j; i>=k; i--) 6 using namespace std; 7 GG read() { 8 GG x = 0, f