栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1291 MPI Maelstrom

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1291 MPI Maelstrom

#include<iostream>#include<set>#include<vector>#include<string.h>#include<stdio.h>#include<stdlib.h>using namespace std;enum {    SIZ = 108,};int num;unsigned cost[SIZ][SIZ];unsigned dis[SIZ];bool use[SIZ];int getLowest(){    int i, p = 0;    unsigned v = -1;    for(i=0; i<num; i++){        if(use[i]) continue;        if(v > dis[i]){ v = dis[i]; p = i;        }    }    return p;}void update(int s){    for(int i=0; i<num; i++){        if(use[i] || cost[s][i] == -1)  continue;        if(dis[i] > cost[s][i] + dis[s]){ dis[i] = cost[s][i] + dis[s];        }    }}void fun(){    memset(dis, -1, sizeof(dis));    memset(use, false, sizeof(use));    dis[0] = 0;    int s, i;    for(i=1; i<num; i++){        s = getLowest();        use[s]= true;        update(s);    }    s = 0;    for(i=1; i<num; ++i){        if(dis[i] > dis[s]){ s = i;        }    }    printf("%dn", dis[s]);}void readIn(){    int i,j;    static char buf[16];    scanf("%d",&num);    for(i=1; i<num; ++i){        for(j=0; j<i; ++j){ scanf("%s ", buf); if(buf[0] =='x'){     cost[i][j] = cost[j][i] = -1; } else {     cost[i][j] = cost[j][i] = atoi(buf); }        }    }}int main(){    int tst;    scanf("%d", &tst);    while(tst--){        readIn();        fun();        if(tst) printf("n");    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/380167.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号