joj1002
2011-08-25 20:13
246 查看
//这是一个最小路径的一个问题首先用floyed算法将所有点之间的最短路径求出来
//然后依次假设某个点为起始点求出花费的时间,选取最小的输出
#include<cstdio>
#include<algorithm>
using namespace std;
int map[105][105];
int maxll=10000;
int n;
void floyed()
{
for(int k=1;k<=n;k++)
{
for(int i=1;i<=n;i++)
{
if(i!=k)
for(int j=1;j<=n;j++)
{
if(map[i][k]+map[k][j]<map[i][j])
{
map[i][j]=map[i][k]+map[k][j];
}
}
}
}
}
int main()
{
freopen("in.txt","r",stdin);
while(scanf("%d",&n),n)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i==j)map[i][j]=0;
else map[i][j]=maxll;
}
}
for(int i=1;i<=n;i++)
{
int m;
scanf("%d",&m);
for(int j=1;j<=m;j++)
{
int u,v;
scanf("%d%d",&u,&v);
map[i][u]=v;
}
}
floyed();
for(int i=1;i<=n;i++)
{
sort(map[i]+1,map[i]+n+1);
}
int min=maxll;int dot=0;
for(int i=1;i<=n;i++)
{
if(min>map[i]
)
{
min=map[i]
;dot=i;
}
}
if(min==maxll)printf("disjoint\n");
else printf("%d %d\n",dot,min);
}
return 0;
}
//然后依次假设某个点为起始点求出花费的时间,选取最小的输出
#include<cstdio>
#include<algorithm>
using namespace std;
int map[105][105];
int maxll=10000;
int n;
void floyed()
{
for(int k=1;k<=n;k++)
{
for(int i=1;i<=n;i++)
{
if(i!=k)
for(int j=1;j<=n;j++)
{
if(map[i][k]+map[k][j]<map[i][j])
{
map[i][j]=map[i][k]+map[k][j];
}
}
}
}
}
int main()
{
freopen("in.txt","r",stdin);
while(scanf("%d",&n),n)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i==j)map[i][j]=0;
else map[i][j]=maxll;
}
}
for(int i=1;i<=n;i++)
{
int m;
scanf("%d",&m);
for(int j=1;j<=m;j++)
{
int u,v;
scanf("%d%d",&u,&v);
map[i][u]=v;
}
}
floyed();
for(int i=1;i<=n;i++)
{
sort(map[i]+1,map[i]+n+1);
}
int min=maxll;int dot=0;
for(int i=1;i<=n;i++)
{
if(min>map[i]
)
{
min=map[i]
;dot=i;
}
}
if(min==maxll)printf("disjoint\n");
else printf("%d %d\n",dot,min);
}
return 0;
}
相关文章推荐
- joj 1002: Stockbroker Grapevine(最短路floyd)
- JOJ 1002 Stockbroker Grapevine
- PAT(Basic Level)_1002_写出这个数
- 2017 Multi-University Training Contest 1 1002. Balala Power!(贪心)
- 1002. 写出这个数 (20)
- 2017 Multi-University Training Contest 1 solutions 1002 Balala Power!(贪心)
- 2017百度之星资格赛 1002 度度熊的王国战略(并查集 or 无向图最小割)
- hdu6097 Mindis 2017多校第六场1002 圆的反演
- 2017百度之星初赛(B) 1002 Factory(倍增法求LCA)
- 杭电1021 Fibonacci Again(606比赛选拔 2017-08-20)(1002)
- LightOJ-1002-Country Roads [最短路][Dijkstra]
- 1002
- Problem 1002 cable cable cable-2017 ACM/ICPC Asia Regional Shenyang Online
- java解决pat乙级练习题1002. 写出这个数
- zzuli oj 1002: 简单多项式求值
- 九度OJ题目1002:Grading
- BigNums——HDUOJ 1002 - A + B Problem II
- ZOJ1002-Fire Net(深度优先搜索)
- NSFZOJ #1002. 【NOIP2003】加分二叉树
- 杭电oj1002,简单理解,复杂解法