租用游艇 dijkstra

来源:互联网 发布:js 对象名 变量 编辑:程序博客网 时间:2024/06/03 00:25

题目:租用游艇


代码:

#include<iostream>#include<cstdio>#include<cstring>#include<vector>#include<map>#include<algorithm>#include<sstream>#include<queue>#include<set>using namespace std;int n;int a[205][205]= {0};int dis[205]= {0};void init() {for(int i=1; i<n; i++) {for(int j=i+1; j<=n; j++) {int x;scanf("%d",&x);a[i][j]=x;}}}void dijkstra() {bool use[205]= {0};int t=n-1;memset(dis,127,sizeof(dis));dis[1]=0;while(t--) {int m=(1<<30),k=-1;for(int i=1; i<=n; i++) {if(!use[i]&&dis[i]<m) {m=dis[i],k=i;}}use[k]=true;for(int i=1; i<=n; i++) {if(!use[i]&&a[k][i]) {dis[i]=min(dis[i],a[k][i]+dis[k]);}}}}int main() {scanf("%d",&n);init();dijkstra();printf("%d\n",dis[n]);return 0;}


原创粉丝点击