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被这门对他来说无比简单的课弄得非常寂寞,为了消除寂寞感,他 ...
随机推荐
- BZOJ1306 [CQOI2009]match循环赛/BZOJ3139 [Hnoi2013]比赛[dfs剪枝+细节题]
地址 看数据范围很明显的搜索题,暴力dfs是枚举按顺序每一场比赛的胜败情况到底,合法就累计.$O(3^{n*(n-1)/2})$.n到10的时候比较大,考虑剪枝. 本人比较菜所以关键性的剪枝没想出来, ...
- std::setw(size)与std::setfill(char)
头文件:#include <iostream>#include <iomanip>using namespace std; 功能: std::setw :需要填充多少个字符, ...
- 21.django中间件源码阅读
回顾: 关于里面的源码流程大家可以全看视频,因为代码的跳动性很大,而且会多次调用通过一方法,所以关于中间源码的部分去找个视频看一看,我写的不是很清楚. # 1 cookie session # 2 f ...
- 暑假集训 #2 div1 I - Lada Priora 精度处理
I - Lada Priora Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Sub ...
- H5自定义video功能与样式处理
H5的video非常简单,方便,有时我们可能需要自己来设置样式来自定义的video,自定义的话我们需要对功能进行一些处理,这里常用的功能几乎是都用到了,第一次练习代码很累赘,之后会慢慢改进. 常用的一 ...
- JavaWeb_JSTL标签数据的存储
菜鸟教程 传送门 JSTL jar包下载 JSTL[百度百科]:(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库 ...
- git梳理
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本地库管理命令 git init ...
- Django日志的配置
做开发离不开日志,以下是我在工作中写Django项目常用的logging配置. BASE_LOG_DIR = os.path.join(BASE_DIR, "log") LOG ...
- python源码
初学者 GitHub - kennethreitz/pip-pop: Tools for managing requirements files. GitHub - kennethreitz/envo ...
- 2.进行model和log的路径创建
第一步:使用datetime.strftime(datetime.now(), '%Y%m%d-%H%M%S') 用于生成当前时间 第二步: 使用os.path.join() 将文件的路径与subdi ...