时间紧张,先记一笔,后续优化与完善。
最短路
#include<stdio.h> #include<string.h> #define max 0.0 double map[1001][1001],f[1001]; int n,m,st,en,mark[1001]; void Dijkstra() { int i,j,k; double min; for(i=1;i<=n;i++) f[i]=map[st][i]; for(i=1;i<=n;i++) { min=max; for(j=1;j<=n;j++) if(!mark[j]&&min<f[j]) {min=f[j];k=j;} if(min==max)break; mark[k]=1; for(j=1;j<=n;j++) if(!mark[j]&&f[j]<f[k]*map[k][j]) f[j]=f[k]*map[k][j]; } if(f[en]>0) printf("%.3f\n",f[en]); else printf("What a pity!\n"); } int main() { int i,j,a,b,c; while(scanf("%d",&n)!=EOF) { memset(mark,0,sizeof(mark)); for(i=1;i<=n;i++) for(j=1;j<=n;j++) scanf("%lf",&map[i][j]); scanf("%d",&m); while(m--) { memset(mark,0,sizeof(mark)); scanf("%d%d",&st,&en); Dijkstra(); } } return 0; }
文章结束给大家分享下程序员的一些笑话语录: 与女友分手两月有余,精神萎靡,面带菜色。家人介绍一女孩,昨日与其相亲。女孩果然漂亮,一向吝啬的我决定破例请她吃晚饭。
选了一个蛮贵的西餐厅,点了比较贵的菜。女孩眉开眼笑,与我谈得很投机。聊着聊着,她说:“我给你讲个笑话吧。”“ok”
“一只螳螂要给一只雌蝴蝶介绍对象,见面时发现对方是只雄蜘蛛。见面后螳螂问蝴蝶‘如何?’,‘他长的太难看了’,‘别看人家长的丑,人家还有网站呢’。”
“呵呵………”我笑。忽然她问:“你有网站吗?”