【POJ 1125】Stockbroker Grapevine
id=1125">【POJ 1125】Stockbroker Grapevine
最短路 只是这题数据非常水。
。
主要想大牛们试试南阳OJ同题 链接例如以下:
http://acm.nyist.net/JudgeOnline/talking.php?pid=426&page=2
数据增大非常多 用到非常多东西才干过 (弱没过,。。
这题就是求最短路寻找全部通路中最大权的最小值外加考验英语水平……
Floyd 208K 0MS 1162B
#include
using namespace std;
int dis[111][111],n;
void Floyd()
{
int i,j,k,tmax,mmax,f;
for(k = 1; k <= n; ++k)
for(i = 1; i <= n; ++i)
for(j = 1; j <= n; ++j)
if(dis[i][j] > dis[i][k] + dis[k][j])
dis[i][j] = dis[i][k] + dis[k][j];
mmax = INF;
for(i = 1; i <= n; ++i)
{
f = 1;
tmax = 0;
for(j = 1; j <= n; ++j)
{
if(i == j) continue;
if(dis[i][j] == INF) f = 0;
tmax = max(tmax,dis[i][j]);
}
if(f && tmax < mmax)
{
k = i;
mmax = tmax;
}
}
if(mmax != INF) printf("%d %d\n",k,mmax);
else puts("disjoint");
}
int main()
{
int i,k,v;
while(~scanf("%d",&n) && n)
{
memset(dis,INF,sizeof(dis));
for(i = 1; i <= n; ++i)
{
scanf("%d",&k);
while(k--)
{
scanf("%d",&v);
scanf("%d",&dis[i][v]);
}
}
Floyd();
}
return 0;
}
Dijkstra 168K 0MS 1491B
#include
using namespace std;
typedef struct Edge
{
int v,w,next;
}Edge;
Edge eg[11111];
int head[111],dis[111],n,tp;
bool vis[111];
int Dijkstra(int u)
{
memset(dis,INF,sizeof(dis));
memset(vis,0,sizeof(vis));
dis[u] = 0;
int m,p,i,j;
for(i = 1; i <= n; ++i)
{
p = -1;
m = INF;
for(j = 1; j <= n; ++j)
{
if(!vis[j] && dis[j] < m)
{
p = j;
m = dis[j];
}
}
if(i == n || p == -1) break;
vis[p] = 1;
for(j = head[p]; j != -1; j = eg[j].next)
{
if(!vis[eg[j].v] && dis[eg[j].v] > dis[p] + eg[j].w)
dis[eg[j].v] = dis[p] + eg[j].w;
}
}
if(p == -1) return INF;
return dis[p];
}
int main()
{
int i,k,m,t;
while(~scanf("%d",&n) && n)
{
m = INF;
tp = 0;
memset(head,-1,sizeof(head));
for(i = 1; i <= n; ++i)
{
scanf("%d",&k);
while(k--)
{
scanf("%d %d",&eg[tp].v,&eg[tp].w);
eg[tp].next = head[i];
head[i] = tp++;
}
}
k = 0;
for(i = 1; i <= n; ++i)
{
t = Dijkstra(i);
if(t < m)
{
k = i;
m = t;
}
}
if(k)
printf("%d %d\n",k,m);
else puts("disjoint");
}
return 0;
}
SPFA 180K 0MS 1668B
#include
using namespace std;
typedef struct Edge
{
int v,w,next;
}Edge;
Edge eg[11111];
int head[111],dis[111],n,tp;
bool vis[111];
int SPFA(int u)
{
memset(dis,INF,sizeof(dis));
memset(vis,0,sizeof(vis));
dis[u] = 0;
queue <int> q;
q.push(u);
int v,w,i,p,m;
while(!q.empty())
{
p = q.front();
q.pop();
vis[u] = 0;
for(i = head[p]; i != -1; i = eg[i].next)
{
v = eg[i].v;
w = eg[i].w;
if(dis[v] > dis[p] + w)
{
dis[v] = dis[p] + w;
if(!vis[v])
{
vis[v] = 1;
q.push(v);
}
}
}
}
m = 0;
for(i = 1; i <= n; ++i)
{
if(i == u) continue;
if(dis[i] == INF) return INF;
m = max(m,dis[i]);
}
return m;
}
int main()
{
int i,k,m,t;
while(~scanf("%d",&n) && n)
{
m = INF;
tp = 0;
memset(head,-1,sizeof(head));
for(i = 1; i <= n; ++i)
{
scanf("%d",&k);
while(k--)
{
scanf("%d %d",&eg[tp].v,&eg[tp].w);
eg[tp].next = head[i];
head[i] = tp++;
}
}
k = 0;
for(i = 1; i <= n; ++i)
{
t = SPFA(i);
if(t < m)
{
k = i;
m = t;
}
}
if(k)
printf("%d %d\n",k,m);
else puts("disjoint");
}
return 0;
}
【POJ 1125】Stockbroker Grapevine的更多相关文章
- POJ 1125:Stockbroker Grapevine
Stockbroker Grapevine Time Limit: 1000MS Memory Limit: 10000KB 64bit IO Format: %I64d & %I64 ...
- bzoj 2295: 【POJ Challenge】我爱你啊
2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec Memory Limit: 128 MB Description ftiasch是个十分受女生欢迎的同学,所以 ...
- 【链表】BZOJ 2288: 【POJ Challenge】生日礼物
2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 382 Solved: 111[Submit][S ...
- BZOJ2288: 【POJ Challenge】生日礼物
2288: [POJ Challenge]生日礼物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 284 Solved: 82[Submit][St ...
- BZOJ2293: 【POJ Challenge】吉他英雄
2293: [POJ Challenge]吉他英雄 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 80 Solved: 59[Submit][Stat ...
- BZOJ2287: 【POJ Challenge】消失之物
2287: [POJ Challenge]消失之物 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 254 Solved: 140[Submit][S ...
- BZOJ2295: 【POJ Challenge】我爱你啊
2295: [POJ Challenge]我爱你啊 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 126 Solved: 90[Submit][Sta ...
- BZOJ2296: 【POJ Challenge】随机种子
2296: [POJ Challenge]随机种子 Time Limit: 1 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 114 Solv ...
- BZOJ2292: 【POJ Challenge 】永远挑战
2292: [POJ Challenge ]永远挑战 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 513 Solved: 201[Submit][ ...
随机推荐
- 【POJ 1182 食物链】并查集
此题按照<挑战程序设计竞赛(第2版)>P89的解法,不容易想到,但想清楚了代码还是比较直观的. 并查集模板(包含了记录高度的rank数组和查询时状态压缩) *; int par[MAX_N ...
- Qt widget--杭州小笼包
1,QPainter::scale(double,double);第一个参数水培方向缩放 shear剪切 QPainter::rotate()旋转,旋转度数,rotate QPainter::tran ...
- hdu 5606 tree(并查集)
Problem Description There is a tree(the tree is a connected graph which contains n points and n−1 ed ...
- 变形课(dfs)
变形课 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Total Submissi ...
- iOS使用ffmpeg播放rstp实时监控视频数据流
一.编译针对iOS平台的ffmpeg库(kxmovie) 最近有一个项目.须要播放各种格式的音频.视频以及网络摄像头实时监控的视频流数据,经过多种折腾之后,最后选择了kxmovie,kxmovie项目 ...
- 一个loader加载多个swf
var _swfLoader:Loader; var _swfRequest:URLRequest; var _swfPathArr:Array = new Array("00.swf&qu ...
- js 刷新网页
1. Javascript 返回上一页history.go(-1), 返回两个页面: history.go(-2); 2. history.back(). 3. window.history.forw ...
- 2014.12.13 ASP.NET文件上传
一.文件上传:(一)上传到硬盘文件夹1.最简单的上传. [HTML代码] <asp:FileUpload ID="FileUpload1" runat="serve ...
- L9-2.安装mysql数据库
二.安装mysql 1.检查是否安装了mysql 2.安装cmake 输入gmake: make install 安装依赖的软件包: 新建用户权限等: 解压 安装 安装: 安装成功. 安装后调整: v ...
- HMM模型实例 mahout官网上的案例
原理:http://www.cnblogs.com/CheeseZH/p/4229910.html Example To build a Hidden Markov Model and use it ...