注意先保证距离最短,再来判断价格

邻接矩阵回朝内存  ,要用邻接表的

#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f
struct ac{int v,dis,cost;
};
int n,m;
int dis[10002];
int cost[10002];
int vis[10002];
vector<ac>rode[10002];
void djst()
{memset(dis,inf,sizeof(dis));memset(cost,inf,sizeof(cost));memset(vis,0,sizeof(vis));dis[1]=0;cost[1]=0;while(1) {int k=-1,dmin=inf,cmin=inf;for(int j=1;j<=n;j++){if(!vis[j]){if(dis[j]<dmin)k=j,dmin=dis[j],cmin=cost[j];else if(dis[j]==dmin){if(cost[j]<cmin)k=j,dmin=dis[j],cmin=cost[j];}}    }if(k==-1) return ;vis[k]=1;for(int i=0;i<rode[k].size();i++){int j=rode[k][i].v;if(!vis[j]){if(dis[k]+rode[k][i].dis<dis[j]){dis[j]=dis[k]+rode[k][i].dis;cost[j]=rode[k][i].cost;}else if(dis[k]+rode[k][i].dis==dis[j]&&cost[j]>rode[k][i].cost){cost[j]=rode[k][i].cost;}}}}
}
int main()
{while(cin>>n>>m){if(n+m==0) break;for(int i=1;i<=m;i++){int a,c,b,d;cin>>a>>b>>c>>d;ac tt;tt.v=b,tt.dis=c,tt.cost=d;rode[a].push_back(tt);tt.v=a;rode[b].push_back(tt);}djst();int ans=0;for(int i=1;i<=n;i++){rode[i].clear();ans+=cost[i];}cout<<ans<<endl;}return 0;
}

转载于:https://www.cnblogs.com/wpbing/p/9508764.html

Aizu - 2249相关推荐

  1. BFS:图的最短路径  Aizu - 0558 ​​​​​​​Cheese

    Cheese Aizu - 0558 大意:在H * W的地图上有N个奶酪工厂,每个工厂分别生产硬度为1-N的奶酪.有一只老鼠准备从出发点吃遍每一个工厂的奶酪.老鼠有一个体力值,初始时为1,每吃一个工 ...

  2. Aizu - 0033 Ball

    这题书上写让用DFS--可是这一比较就出来啊-- Ball Aizu - 0033 図のように二股に分かれている容器があります.1 から 10 までの番号が付けられた10 個の玉を容器の開口部 A か ...

  3. Exhaustive Search Aizu - ALDS1_5_A

    Write a program which reads a sequence A of n elements and an integer M, and outputs "yes" ...

  4. Allocation Aizu - ALDS1_4_D

    You are given n packages of wi kg from a belt conveyor in order (i=0,1,-n−1). You should load all pa ...

  5. Dictionary Aizu - ALDS1_4_C

    Search III Your task is to write a program of a simple dictionary which implements the following ins ...

  6. Stable Sort Aizu - ALDS1_2_C

    Let's arrange a deck of cards. There are totally 36 cards of 4 suits(S, H, C, D) and 9 values (1, 2, ...

  7. Bubble Sort Aizu - ALDS1_2_A

    Write a program of the Bubble Sort algorithm which sorts a sequence A in ascending order. 编写一个气泡排序算法 ...

  8. Insertion Sort Aizu - ALDS1_1_A

    Write a program of the Insertion Sort algorithm which sorts a sequence A in ascending order. 编写插入排序算 ...

  9. Maximum Profit Aizu - ALDS1_1_D

    Maximum Profit You can obtain profits from foreign exchange margin transactions. 你可以从外汇保证金交易中获得利润. F ...

  10. GCD and LCM Aizu - 0005(辗转相除)+GCD LCM Inverse POJ - 2429(java或【Miller Rabin素数測试】+【Pollar Rho整数分解】)

    题目:GCD and LCM Aizu - 0005 Write a program which computes the greatest common divisor (GCD) and the ...

最新文章

  1. java nextline_Java编程语言基础的9根支柱
  2. java实现二叉树的构建以及3种遍历方法
  3. 计算机房装修对门的要求,防火门尺寸要求有哪些 防火门尺寸规范
  4. 工业交换机和工业路由器的区别
  5. IT行业培训必读:优秀程序员的十个习惯
  6. Lync开发实例3—自定义客户端
  7. 总算知道怎样从ImageMagick生成的数据转换成HICON: MagickGetImageBlob LookupIconIdFromDirectoryEx...
  8. (30)VHDL实现比较器(有符号)
  9. 用友CDM系统期初导入商品资料经验
  10. Latente Wärme
  11. Go语言中的指针和new(T)函数的使用
  12. JVC DSP调音软件
  13. Java MD5加密工具包
  14. Flash 第七章 元件,帧,库管理
  15. java计算机毕业设计校园流浪猫图鉴管理系统的设计与实现源码+数据库+系统+lw文档+部署
  16. 深度学习与计算机视觉教程(7) | 神经网络训练技巧 (下)(CV通关指南·完结)
  17. CodeSmith简单示例
  18. k8s之Deployment滚动更新
  19. Android在recycleview中进行全选和取消全选
  20. 测试用例之因果图分析法

热门文章

  1. 自己过好就是最大的公益!
  2. 验签传时间戳目的_不瞒你说:买来的海鸭蛋,一戳就流油,被中央台频频“曝光”,秘密终被解开...
  3. *第二周*数据结构实践项目二【多文件系统】
  4. 链接地址中的target=”_blank”属性安全性处理
  5. 猎豹MFC--图片控件CStatic和动画控件CAnimateCtrl
  6. LeetCode() Merge Intervals 还是有问题,留待,脑袋疼。
  7. 百度web前端面试2015.10.18
  8. CoreImage的使用及常见滤镜工具(一)
  9. 一个支持CGI的极简WebServer
  10. Android Eclipse 处理重构“AndroidPackageNameRefactoring”时捕获到异常