典型的最短路,而且只要再加一点点操作,就能得到答案

所以可以直接套模板

具体看程序::

 #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】的更多相关文章

  1. 洛谷 P2951 [USACO09OPEN]捉迷藏Hide and Seek

    题目戳 题目描述 Bessie is playing hide and seek (a game in which a number of players hide and a single play ...

  2. [USACO09OPEN]捉迷藏Hide and Seek

    OJ题号:洛谷2951 思路:Dijkstra+堆优化.注意是无向图,所以加边时要正反各加一遍. #include<cstdio> #include<vector> #incl ...

  3. Luogu 2951 捉迷藏Hide and Seek

    P2951 [USACO09OPEN]捉迷藏Hide and Seek 题目描述 Bessie is playing hide and seek (a game in which a number o ...

  4. USACO Hide and Seek

    洛谷 P2951 [USACO09OPEN]捉迷藏Hide and Seek 洛谷传送门 JDOJ 2641: USACO 2009 Open Silver 1.Hide and Seek JDOJ传 ...

  5. BZOJ3402: [Usaco2009 Open]Hide and Seek 捉迷藏

    3402: [Usaco2009 Open]Hide and Seek 捉迷藏 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 51  Solved: 4 ...

  6. BZOJ 3402: [Usaco2009 Open]Hide and Seek 捉迷藏

    题目 3402: [Usaco2009 Open]Hide and Seek 捉迷藏 Time Limit: 3 Sec  Memory Limit: 128 MB Description     贝 ...

  7. 3402: [Usaco2009 Open]Hide and Seek 捉迷藏

    3402: [Usaco2009 Open]Hide and Seek 捉迷藏 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 78  Solved: 6 ...

  8. 【BZOJ-1941】Hide and Seek KD-Tree

    1941: [Sdoi2010]Hide and Seek Time Limit: 16 Sec  Memory Limit: 162 MBSubmit: 830  Solved: 455[Submi ...

  9. [BZOJ1941][Sdoi2010]Hide and Seek

    [BZOJ1941][Sdoi2010]Hide and Seek 试题描述 小猪iPig在PKU刚上完了无聊的猪性代数课,天资聪慧的iPig被这门对他来说无比简单的课弄得非常寂寞,为了消除寂寞感,他 ...

随机推荐

  1. c++11:lambda表达式的使用

    lambda表达式的一般形式: [capture list] (parameter list) -> return type{function body}; 其中,capture list (捕 ...

  2. Angular 英雄示例教程

    英雄指南教程(Tour of Heroes)涵盖了 Angular 的基本知识. 在本教程中,你将构建一个应用,来帮助人事代理机构来管理一群英雄. 这个入门级 app 包含很多数据驱动的应用所需的特性 ...

  3. ubuntu下jps命令无效

    jps命令无效 #启动zookeeper $ sudo ./zkServer.sh start [sudo] jjboom 的密码: ZooKeeper JMX enabled by default ...

  4. 关于多个py文件生成一个可运行exe文件(用pyinstaller)

    首先下载Pyinstaller,在cmd命令下执行:pip installer Pyinstaller,不需要关心安装在哪 然后把所有相关的py文件都放在一个目录下 在那个目录下执行cmd命令:pyi ...

  5. Java 内部类、成员类、局部类、匿名类等

    Java各种称呼类详解 Java有各种各样类,内部类.嵌套类.成员类.局部类(本地类).静态类.匿名类.文件类以及这些组合起来的称呼类,成员内部类,成员匿名类,成员嵌套类,本地匿名类等,真是多的不行, ...

  6. 为什么要使用 Go 语言,Go 语言的优势在哪里?

    1.Go有什么优势 可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了. 静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的 ...

  7. C++入门经典-例6.8-gets_s与puts的应用

    1:使用标准输入函数cin和格式化输入函数scanf时都存在这样一个问题:当输入空格时,程序不会接受空格符之后的内容内容. 输入函数gets_s与输出函数puts都只以结束符'\0'作为输入\输出结束 ...

  8. C++入门经典-例5.11-动态分配空间,堆与栈

    1:在程序中定义一个变量,它的值会被放入内存中.如果没有申请动态分配,它的值将会被放在栈中.栈中的变量所属的内存大小是无法被改变的,它们的产生与消亡也与变量定义的位置和存储方式有关.堆是一种与栈相对应 ...

  9. Zookeeper(六)服务器

    Zookeeper(六)服务器 zkServer.cmd中声明 首先启动QuorumPeerMain set ZOOMAIN=org.apache.zookeeper.server.quorum.Qu ...

  10. Docker入门-数据挂载

    Docker数据管理 在容器中管理数据主要有两种方式: 数据卷(Volumes) 挂载主机目录(Bind mounts) 数据卷 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过UFS,可以提供很 ...