http://poj.org/problem?id=1125

2024-01-10 07:32
文章标签 http id poj problem org 1125

本文主要是介绍http://poj.org/problem?id=1125,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

裸的最短路径问题,这应该是以前的一道月赛题,一开始用floyd写的,这次用spfa+优先队列优化,还有存图的方式和以前不同。。。

题意:求出在哪个点发起谣言,传到每个人的所用的时间最少,以每个点为源点枚举求最短路。。。。

#include<iostream>
#include<algorithm>
#include<string.h>
#include<vector>
#include<queue>
#define N 105
#define inf 0xfffff
using namespace std;
struct Gnode
{Gnode() {}Gnode(int num,int time):num(num),time(time) {}int num,time;bool operator<(const Gnode &now) const{return now.time<time;}
};
int dis[N];
void SPFA(vector<vector<Gnode> >&Graph,int start)
{priority_queue<int> Q;dis[start]=0;Q.push(start);while(!Q.empty()){int cur=Q.top();Q.pop();for(int i=0;i<Graph[cur].size();++i){if(dis[cur]!=inf&&dis[cur]+Graph[cur][i].time<dis[Graph[cur][i].num]){ dis[Graph[cur][i].num]=dis[cur]+Graph[cur][i].time;Q.push(Graph[cur][i].num);}}}
}
void init()
{for(int i=0;i<N;++i)dis[i]=inf;
}
int main()
{int n;while(cin>>n&&n){vector<vector<Gnode> >Graph (n+1);for(int i=1;i<=n;++i){int num;cin>>num;for(int j=0;j!=num;++j){int a,b;cin>>a>>b;Graph[i].push_back(Gnode(a,b));}}int minx=inf,p;for(int i=1;i<=n;++i){init();SPFA(Graph,i);int maxx=-inf;for(int j=1;j<=n;++j)maxx=max(dis[j],maxx);if(maxx<minx) {p=i;minx=maxx;}}cout<<p<<" "<<minx<<endl;}return 0;
}


这篇关于http://poj.org/problem?id=1125的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/590034

相关文章

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

Java报错:org.springframework.beans.factory.BeanCreationException的五种解决方法

《Java报错:org.springframework.beans.factory.BeanCreationException的五种解决方法》本文解析Spring框架中BeanCreationExce... 目录引言一、问题描述1.1 报错示例假设我们有一个简单的Java类,代表一个用户信息的实体类:然后,

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Python WSGI HTTP服务器Gunicorn使用详解

《PythonWSGIHTTP服务器Gunicorn使用详解》Gunicorn是Python的WSGI服务器,用于部署Flask/Django应用,性能高且稳定,支持多Worker类型与配置,可处... 目录一、什么是 Gunicorn?二、为什么需要Gunicorn?三、安装Gunicorn四、基本使用启

SQLServer中生成雪花ID(Snowflake ID)的实现方法

《SQLServer中生成雪花ID(SnowflakeID)的实现方法》:本文主要介绍在SQLServer中生成雪花ID(SnowflakeID)的实现方法,文中通过示例代码介绍的非常详细,... 目录前言认识雪花ID雪花ID的核心特点雪花ID的结构(64位)雪花ID的优势雪花ID的局限性雪花ID的应用场景

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

springboot如何通过http动态操作xxl-job任务

《springboot如何通过http动态操作xxl-job任务》:本文主要介绍springboot如何通过http动态操作xxl-job任务的问题,具有很好的参考价值,希望对大家有所帮助,如有错... 目录springboot通过http动态操作xxl-job任务一、maven依赖二、配置文件三、xxl-