P2951 【[USACO09OPEN]捉迷藏Hide and Seek】
典型的最短路,而且只要再加一点点操作,就能得到答案
所以可以直接套模板
具体看程序::
#include<cstdio>
#include<queue>//队列专属头文件
#include<algorithm>
using namespace std;
const int N=;
int a[N];
int n,m,l,sum,ans;
int d1[N],t[N],head1[N],next1[N],w1[N],adj1[N],k1;
bool f1[N];
queue<int> q1;//比较喜欢定义全局变量
void add(int u,int v){//加边操作,因为每条边权值为1,就不用第三个变量了
next1[++k1]=head1[u];
head1[u]=k1;
w1[k1]=;//如果不是1,就把一换成变量t(自己定义)
adj1[k1]=v;
}
void spfa(int s,int e){//SPFA,最短路模板
for(int i=;i<=n;i++)
d1[i]=<<;//赋无限大
d1[s] =;
q1.push(s);
f1[s]=true ;
while(!q1.empty()){
int top1=q1.front() ;
q1.pop() ;//出队
f1[top1]=false;
for(int j=head1[top1];j!=;j=next1[j]){
if(d1[adj1[j]]>d1[top1]+w1[j]){//松弛操作
t[adj1[j]]++;
d1[adj1[j]]=d1[top1]+w1[j] ;
if(!f1[adj1[j]]){
q1.push(adj1[j]);
f1[adj1[j]]=true;
}
}
}
}
}
int main(){
//freopen("hideseek.in","r",stdin);
//freopen("hideseek.out","w",stdout);不要在意。。。
scanf("%d%d",&n,&m);//读入
for(int i=;i<=m;i++){
int x,y;
scanf("%d%d",&x,&y);
add(x,y);
add(y,x);//加边操作,因为是无向图,要加两次
}
spfa(,n);//调用
for(int i=;i<=n;i++){
if(d1[i]>l){//如果出现了比现在大的点,就交换
l=d1[i];
ans=i;
sum=;
}
else{
if(d1[i]==l){//一样就加
sum++;
}
}
}
printf("%d %d %d\n",ans,l,sum);//输出
return ;
}
不用数组模拟队列其实蛮麻烦的,我也只是套用模板,懒得改了,比才是现场写还是要写自己有把握的
那个。。新人开博鼓励一下吧~~
P2951 【[USACO09OPEN]捉迷藏Hide and Seek】的更多相关文章
- 洛谷 P2951 [USACO09OPEN]捉迷藏Hide and Seek
题目戳 题目描述 Bessie is playing hide and seek (a game in which a number of players hide and a single play ...
- [USACO09OPEN]捉迷藏Hide and Seek
OJ题号:洛谷2951 思路:Dijkstra+堆优化.注意是无向图,所以加边时要正反各加一遍. #include<cstdio> #include<vector> #incl ...
- Luogu 2951 捉迷藏Hide and Seek
P2951 [USACO09OPEN]捉迷藏Hide and Seek 题目描述 Bessie is playing hide and seek (a game in which a number o ...
- USACO Hide and Seek
洛谷 P2951 [USACO09OPEN]捉迷藏Hide and Seek 洛谷传送门 JDOJ 2641: USACO 2009 Open Silver 1.Hide and Seek JDOJ传 ...
- BZOJ3402: [Usaco2009 Open]Hide and Seek 捉迷藏
3402: [Usaco2009 Open]Hide and Seek 捉迷藏 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 51 Solved: 4 ...
- BZOJ 3402: [Usaco2009 Open]Hide and Seek 捉迷藏
题目 3402: [Usaco2009 Open]Hide and Seek 捉迷藏 Time Limit: 3 Sec Memory Limit: 128 MB Description 贝 ...
- 3402: [Usaco2009 Open]Hide and Seek 捉迷藏
3402: [Usaco2009 Open]Hide and Seek 捉迷藏 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 78 Solved: 6 ...
- 【BZOJ-1941】Hide and Seek KD-Tree
1941: [Sdoi2010]Hide and Seek Time Limit: 16 Sec Memory Limit: 162 MBSubmit: 830 Solved: 455[Submi ...
- [BZOJ1941][Sdoi2010]Hide and Seek
[BZOJ1941][Sdoi2010]Hide and Seek 试题描述 小猪iPig在PKU刚上完了无聊的猪性代数课,天资聪慧的iPig被这门对他来说无比简单的课弄得非常寂寞,为了消除寂寞感,他 ...
随机推荐
- 用IDesktopWallpaper接口设置png壁纸
#include <Windows.h> #include <string> #include "Shobjidl.h" int main() { std: ...
- h5css3_01
一.什么是 HTML5 HTML5 的概念与定义 定义:HTML5 定义了 HTML 标准的最新版本,是对 HTML 的第五次重大修改,号称下一代的 HTML 两个概念: 是一个新版本的 HTML 语 ...
- 记一次生产环境nginx图片上传不了的问题
在server节点目录下配置: client_max_body_size 8M; client_body_buffer_size 8M; 不过还是不能上传就执行下面这条命令: cd /var/lib/ ...
- spring cloud禁止输出日志:ConfigClusterResolver : Resolving eureka endpoints via configuration
springcloud的注册中心客户端会每隔一定时间向注册中心服务端发送心跳,用此来判断注册中心服务端是否运行正常. 这样导致不断进行日志输出,不便查看正常的业务日志输出. c.n.d.s.r.aws ...
- [Linux系统] (4)脚本编程
一.bash shell 可以理解为一种解释器和启动器,解释命令文本,并执行命令. 命令来源: 用户交互输入 文本文件输入 1.示例,写一个最简单的文本 vi test.txt 写入以下内容: ech ...
- jquery focus()方法 语法
jquery focus()方法 语法 作用:当元素获得焦点时,发生 focus 事件.大理石平台价格 触发focus事件语法:$(selector).focus() 将函数绑定到focus事件语法: ...
- cordova打包项目下载gradle失败
在使用cordova打包项目的时候有时会因为网络环境原因导致下载gradle失败的情况,个人找到两种解决方案. 方案一: 根据报错的提示选择要下载的gradle去浏览器中下载,然后将gradle压缩包 ...
- SpringBoot项目中,异常拦截
SpringBoot自带异常拦截@ControllerAdvice 1.创建一个SellerExceptionHandler类打上@ControllerAdvice标签 @ControllerAdvi ...
- VS Code 最好用的 Markdown 插件
对经常使用 Markdown 写东西的工程师来说找到称手好用的 Markdown 编辑器非常重要. 目前为止 VS Code 最好用的插件是 Markdown Preview Enhanced . 各 ...
- Horizon7.9部署和克隆问题汇总
1 基础环境说明 采用Windows server +SQL Server 2014进行部署,对接现有环境中的AD预控,系统版本为Windows server .桌面虚拟化软件版本采用Horizon ...