POJ1125 Stockbroker Grapevine
来源:互联网 发布:手机播放软件 编辑:程序博客网 时间:2024/05/21 17:52
考查点:最短路径
提交情况:1次WA
收获:学会了Floyd算法,用于求所有点之间的最短路径
AC_CODE:
- #include <stdio.h>
- #define MAX 101
- int A[MAX][MAX],edges[MAX][MAX],B[MAX];
- void floyd(int n)
- {
- for(int i=0;i<n;i++)
- for(int j=0;j<n;j++)
- A[i][j]=edges[i][j];
- for(int k=0;k<n;k++)
- for(int i=0;i<n;i++)
- for(int j=0;j<n;j++)
- if(A[i][k]+A[k][j]<A[i][j])
- A[i][j]=A[i][k]+A[k][j];
- }
- int main()
- {
- int num,paris,v,cost,sum,minv,min,totalcost;
- while(scanf("%d",&num))
- {
- if(num==0) break;
- for(int i=0;i<num;i++)
- for(int j=0;j<num;j++)
- {
- if(i==j)
- edges[i][j]=0;
- else
- edges[i][j]=999999;
- }
- for(int i=0;i<num;i++)
- {
- scanf("%d",&paris);
- for(int j=0;j<paris;j++)
- {
- scanf("%d%d",&v,&cost);
- edges[i][v-1]=cost;
- }
- }
- floyd(num);
- min=100000;
- for(int i=0;i<num;i++)
- {
- sum=0;
- for(int j=0;j<num;j++)
- sum+=A[i][j];
- if(sum<min)
- {
- min=sum;
- minv=i;
- }
- }
- totalcost=0;
- for(int i=0;i<num;i++)
- if(A[minv][i]>totalcost)
- totalcost=A[minv][i];
- if(totalcost>999999)
- printf("disjoint/n");//注意别忘了~WA可能就是因为没有加这句~
- else
- printf("%d %d/n",minv+1,totalcost);//又忘了/n!!! 晕了~
- }
- return 0;
- }
排名:12085
突然想也把排名记在这里吧,记录一下走过的足迹~可惜前面的没记~每当看到排名前一点都挺高兴的~呵呵。其实现在因为排名太后了,所以每提交一个题都会进很多的名次~
第一个最短路径问题,是Floyd算法,edges[i][j]初始化时,对角线元素都为0,而没有路径的为无穷大。Floyd算法的时间复杂度为O(n3),其实在写的时候,一直都在想会不会很慢,会超时,可是结果时间是0MS~奇怪~当然了,也有可能是OJ的时候测试数据比较少~不过以后再用O(n3)的算法时就不会太担心了~呵呵。
- POJ1125 Stockbroker Grapevine
- POJ1125 Stockbroker Grapevine
- poj1125 Stockbroker Grapevine
- poj1125 - Stockbroker Grapevine
- POJ1125--Stockbroker Grapevine
- POJ1125 Stockbroker Grapevine
- poj1125 Stockbroker Grapevine
- poj1125--Stockbroker Grapevine
- POJ1125 Stockbroker Grapevine 【Floyd】
- POJ1125 Stockbroker Grapevine
- POJ1125 - Stockbroker Grapevine
- POJ1125 Stockbroker Grapevine【Floyd】
- POJ1125 Stockbroker Grapevine
- POJ1125 Stockbroker Grapevine
- POJ1125 Stockbroker Grapevine
- poj1125 Stockbroker Grapevine
- [POJ1125]-Stockbroker Grapevine
- POJ1125-Stockbroker Grapevine
- 深度优先遍历在编译器中的妙用
- SQLSERVER2000下按任意的字段旋转的存储过程
- CSDN上超牛的C++方面的博客
- 保证一天不困的25种小方法
- Head First C#中文版 图文皆译 (page6)
- POJ1125 Stockbroker Grapevine
- ADO.NET的并行控制与数据存取冲突侦测
- document对象属性
- 《holon 教程一,什么是holon?》
- hibernet中的get和load方法的区别
- 如何在其他程序的窗口上创建按钮并使之能响应
- Head First C#中文版 图文皆译 (page7)
- getch(),getche(),getchar()的区别
- jspSmartUpload使用详解(JSP上传下载组件)