https://www.luogu.com.cn/problem/P2853

题目大意

k头牛在n个点上,m条有向边,统计那些所有牛都能到达的点的个数

思路

很容易就想到,以每头牛为起点去深搜,能走到的地方数值加1,最后那些数值为k的点就是所有牛都能走到的点。

ps: 本来还顺着这样想了一个优化,如果在牛 a 的路径上有另外一头牛 b,那么 b能走到的路径必定包含在a能走到的以内,那么我dfs加一个参数num,如果多碰到一头牛,num++,这样在牛a的深搜中就把牛b的也走完了,再标记一下后面不用走牛b了,然后走到的点的数值变成加num,深搜完了后再判断一下恢复num,感觉挺可行的,但是写出来却wa了,不知道自己是想法有误还是代码敲错。

以下为ac代码

代码
#include <bits/stdc++.h>
using namespace std;
const int N = 1005;int k, n, m, ans;
vector <int> g[N];
vector <int> cow;
int flag[N];
int f[N];void dfs(int x) {flag[x] = 1;f[x]++;for (int i = 0; i < g[x].size(); i++) {int fp = 0;if (flag[g[x][i]]) continue;dfs(g[x][i]);}return ;
}int main() {cin >> k >> n >> m;for (int i = 0; i < k; i++) {int c; cin >> c;cow.push_back(c);}for (int i = 0; i < m; i++) {int u, v;cin >> u >> v;g[u].push_back(v);}for (int i = 0; i < cow.size(); i++) {memset(flag, 0, sizeof(flag));dfs(cow[i]);        }for (int i = 1; i <= n; i++) {if (f[i] == k) ans++;}cout << ans << endl;return 0;
}

洛谷 P2853 Cow Picnic S(DFS)相关推荐

  1. 洛谷P1506 拯救oibh总部 —DFS—围墙

    拯救oibh总部 - 洛谷 ## 题目背景 oibh 总部突然被水淹没了!现在需要你的救援-- ## 题目描述 oibh 被突来的洪水淹没了,还好 oibh 总部有在某些重要的地方起一些围墙.用 `* ...

  2. 洛谷 P2853 [USACO06DEC]Cow Picnic S-dfs

    输入: 2 4 4 2 3 1 2 1 4 2 3 3 4 输出: 2 代码如下: #include <iostream> #include <vector> #include ...

  3. 洛谷P1433 吃奶酪【dfs】【剪枝】

    题目:https://www.luogu.org/problemnew/show/P1433 题意: 给定n个坐标,要求从(0,0)开始走遍所有点,最少经过的路程. 思路: 刚开始想像数字三角形一样适 ...

  4. 洛谷 - P3899 [湖南集训]谈笑风生(dfs序+主席树/二维数点)

    题目链接:点击查看 题目大意:设 TTT 为一棵有根树,我们做如下的定义: 设 aaa 和 bbb 为 TTT 中的两个不同节点.如果 aaa 是 bbb 的祖先,那么称"aaa 比 bbb ...

  5. 洛谷 - P1025 数的划分(dfs)

    题目链接:点击查看 题目大意:给出两个数n和k,要求将n分成k份,问有多少种方案数,注意: 1 1 5和1 5 1还有5 1 1算同一种方案 题目分析:因为n只给到了200,并且k最大为6,所以直接d ...

  6. 洛谷 P1162 填涂颜色-dfs染色法

    输入: 6 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 输出: 0 0 0 0 0 0 0 0 1 ...

  7. 洛谷 P1506 拯救oibh总部-dfs染色法

    题目背景 oibh总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用号表示,而一个封闭的号区域洪水是进不去 ...

  8. 洛谷P1605:迷宫(DFS)

    题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在迷宫中移动有上下左右 ...

  9. 伪题解 洛谷 P1363 幻想迷宫(DFS)

    毒瘤题,做了一晚上抄题解A了 因为是抄题解,我也不好意思说什么了,就发篇博客纪念一下吧 #include<iostream> #include<cstring> #includ ...

最新文章

  1. 黄海广博士的知乎高赞(1000+)文章分享
  2. 浅谈深浅拷贝问题(这里只针对拷贝构造函数和赋值运算符重载)和简易srting类模拟实现
  3. 新闻发布项目——接口类(commentDao)
  4. 一行或多行文本内容溢出显示省略号
  5. genymotion集成eclipse插件安装教程
  6. 三周第二次课(12月26)
  7. VS调试配置外网可访问
  8. Java窗口之文本框、按钮、菜单
  9. java微信小程序毕业设计 java微信活动报名志愿者小程序系统毕业设计开题报告参考
  10. Framework类库
  11. 你参加了无数 “打卡” 群,为什么收获甚微。。。
  12. tk.mybatis.mapper.MapperException: 无法获取实体类com.对应的表名
  13. JSP的 页面访问执行流程
  14. 【程序设计训练】棋盘
  15. 2019-08-01软件工程总结
  16. 《巴黎圣母院》 1.大厅 解读
  17. Leetcode PHP题解--D38 463. Island Perimeter
  18. java对接支付宝支付
  19. 力扣1226.哲学家进餐
  20. Java修饰符与关键字

热门文章

  1. Windwos10下安装使用老旧USB设备——宏碁Acer ScanPrisa 640u扫描仪
  2. C-CAS中央空调计费系统 中央空调时间型计费系统
  3. 服务器主机加固一些经验分享
  4. BIM + 3D GIS在岩溶强发育区跨海盾构隧道施工中的实践应用
  5. 方法:三遍学习法 +PPT 笔记法
  6. 环境监测设备中ESD测试步骤
  7. 餐饮消防安全知识培训PPT模板
  8. 端口大全及端口关闭/打开方法(下)
  9. 这可能是用 Markdown 写微信公众号的终极解决方案
  10. 双屏 = 双倍快乐?ThinkBook Plus 评测