luogu P2853 【[USACO06DEC]牛的野餐Cow Picnic】
时间:2019-12-14
本文章向大家介绍luogu P2853 【[USACO06DEC]牛的野餐Cow Picnic】,主要包括luogu P2853 【[USACO06DEC]牛的野餐Cow Picnic】使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
### 反向建边+dfs
用f记录一个牧场是否有cow,如果没有cow,则不用管这个牧场,然后枚举每个点作为cow野餐的地方,dfs,用vis记录一个牧场能不能被访问到,然后for一遍判断该牧场是否有cow,和该牧场能不能被枚举的点走到,就做完了。
### 注意,每次dfs时,vis数组要清空,我第一次交忘记清空,结果就WA了,30分
$Code :$
#include<iostream> #include<cstring> #include<cstdio> using namespace std; inline int read(){ register int x=0,v=1,ch=getchar(); while(!isdigit(ch)){if(ch=='-')v=-1;ch=getchar();} while(isdigit(ch)){x=(x<<3)+(x<<1)+(ch^'0');ch=getchar();} return x*v; } const int MAX=1005,N=10005; int k,n,m; struct Edge{ int e,next; }e[N]; int head[MAX],cnt; inline void add(int u,int v){ e[cnt].e=v; e[cnt].next=head[u]; head[u]=cnt++; } int u,v,Ans=0;bool f[MAX],vis[MAX]; void dfs(int now){ vis[now]=1; for(register int i=head[now];i;i=e[i].next){ if(!vis[e[i].e])dfs(e[i].e); } } int main(){ k=read(),n=read(),m=read(); for(register int i=1;i<=k;++i){ f[read()]=1; } for(register int i=1;i<=m;++i){ u=read(),v=read(); add(v,u); } for(register int i=1;i<=n;++i){ memset(vis,0,sizeof(vis)); dfs(i); for(register int j=1;j<=n;++j){ if(vis[j]!=1&&f[j]==1){ goto end; } } ++Ans; end:; } printf("%d\n",Ans); return 0; }
原文地址:https://www.cnblogs.com/Lates/p/12040505.html
- java学习:数据增删改查、存储过程调用及事务处理
- 极客手工:自制51四驱无线遥控小车
- flash:二次贝塞尔曲线应用-生成飞机路径示意图
- 微信小程序重磅功能上线!一键连Wi-Fi/手机变门禁卡
- MySQL下载安装、基本配置、问题处理
- windows下命令行模式中cd命令无效的原因
- 分布式和集群区别?什么是云计算平台?分布式的应用场景?
- 中国移动也要搞自动驾驶,没了SIM卡怎么耍花样?
- python并发编程之多进程理论部分
- 使用concurrent.futures模块并发,实现进程池、线程池
- 人工智能与医疗
- 每周论文清单:知识图谱,文本匹配,图像翻译,视频对象分割
- 进程池、线程池、回调函数
- java学习:weblogic下JNDI及JDBC连接测试(weblogic环境)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
- PHP切割汉字的常用方法实例总结
- Laravel Validator 实现两个或多个字段联合索引唯一
- php实现的顺序线性表示例
- pytorch快速搭建神经网络_Sequential操作
- PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
- Yii框架引入coreseek分页功能示例
- 使用keras内置的模型进行图片预测实例
- PHP convert_cyr_string()函数讲解
- 在keras中model.fit_generator()和model.fit()的区别说明
- 浅谈matplotlib 绘制梯度下降求解过程
- Ajax+PHP实现的分类列表框功能示例
- keras实现图像预处理并生成一个generator的案例
- Django+RestFramework API接口及接口文档并返回json数据操作
- Yii2框架实现利用mpdf创建pdf文件功能示例