洛谷 P2853 Cow Picnic S(DFS)
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)相关推荐
- 洛谷P1506 拯救oibh总部 —DFS—围墙
拯救oibh总部 - 洛谷 ## 题目背景 oibh 总部突然被水淹没了!现在需要你的救援-- ## 题目描述 oibh 被突来的洪水淹没了,还好 oibh 总部有在某些重要的地方起一些围墙.用 `* ...
- 洛谷 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 ...
- 洛谷P1433 吃奶酪【dfs】【剪枝】
题目:https://www.luogu.org/problemnew/show/P1433 题意: 给定n个坐标,要求从(0,0)开始走遍所有点,最少经过的路程. 思路: 刚开始想像数字三角形一样适 ...
- 洛谷 - P3899 [湖南集训]谈笑风生(dfs序+主席树/二维数点)
题目链接:点击查看 题目大意:设 TTT 为一棵有根树,我们做如下的定义: 设 aaa 和 bbb 为 TTT 中的两个不同节点.如果 aaa 是 bbb 的祖先,那么称"aaa 比 bbb ...
- 洛谷 - P1025 数的划分(dfs)
题目链接:点击查看 题目大意:给出两个数n和k,要求将n分成k份,问有多少种方案数,注意: 1 1 5和1 5 1还有5 1 1算同一种方案 题目分析:因为n只给到了200,并且k最大为6,所以直接d ...
- 洛谷 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 ...
- 洛谷 P1506 拯救oibh总部-dfs染色法
题目背景 oibh总部突然被水淹没了!现在需要你的救援-- 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用号表示,而一个封闭的号区域洪水是进不去 ...
- 洛谷P1605:迷宫(DFS)
题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在迷宫中移动有上下左右 ...
- 伪题解 洛谷 P1363 幻想迷宫(DFS)
毒瘤题,做了一晚上抄题解A了 因为是抄题解,我也不好意思说什么了,就发篇博客纪念一下吧 #include<iostream> #include<cstring> #includ ...
最新文章
- 黄海广博士的知乎高赞(1000+)文章分享
- 浅谈深浅拷贝问题(这里只针对拷贝构造函数和赋值运算符重载)和简易srting类模拟实现
- 新闻发布项目——接口类(commentDao)
- 一行或多行文本内容溢出显示省略号
- genymotion集成eclipse插件安装教程
- 三周第二次课(12月26)
- VS调试配置外网可访问
- Java窗口之文本框、按钮、菜单
- java微信小程序毕业设计 java微信活动报名志愿者小程序系统毕业设计开题报告参考
- Framework类库
- 你参加了无数 “打卡” 群,为什么收获甚微。。。
- tk.mybatis.mapper.MapperException: 无法获取实体类com.对应的表名
- JSP的 页面访问执行流程
- 【程序设计训练】棋盘
- 2019-08-01软件工程总结
- 《巴黎圣母院》 1.大厅 解读
- Leetcode PHP题解--D38 463. Island Perimeter
- java对接支付宝支付
- 力扣1226.哲学家进餐
- Java修饰符与关键字