日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

10099 The Tourist Guide

發(fā)布時(shí)間:2025/3/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 10099 The Tourist Guide 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題意:給出n的城市m條通道,然后每條通道最大的承載人數(shù)給出來(lái)了,然后給出起點(diǎn)和終點(diǎn)以及要搭載的人數(shù),問(wèn)最少要走多少次才能把全部游客送到目的地

因?yàn)閷?dǎo)游每次都要跟團(tuán),所以每條交通道路搭載的最大人數(shù)要減1= =

克魯斯卡爾算法,就會(huì)排序的時(shí)候按照運(yùn)輸人數(shù)的從大到小排序,然后當(dāng)起點(diǎn)和終點(diǎn)在一個(gè)聯(lián)通分支時(shí)即可

#include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> using namespace std; const int maxn=10000; int n,m; int p[maxn]; struct node {int u,v,num; }; bool cmp(node a,node b) {return a.num>b.num; } void init() {for(int i=1;i<=n;i++)p[i]=i; } int find(int x) {return p[x]==x ? x :find(p[x]); } node a[maxn]; int main() {int t=0;while(scanf("%d %d",&n,&m)!=EOF){if(!n&&!m) break;init();for(int i=0;i<m;i++){scanf("%d %d %d",&a[i].u,&a[i].v,&a[i].num);}sort(a,a+m,cmp);int s,e,sum;scanf("%d %d %d",&s,&e,&sum);int k=0;for(int i=0;i<m;i++){int fx=find(a[i].u);int fy=find(a[i].v);if(fx!=fy)p[fx]=fy;if(find(s)==find(e)){k=i;break;}} int num=a[k].num;num--; int ans;if(sum%num==0)ans=sum/num;elseans=sum/num+1;printf("Scenario #%d\n",++t);printf("Minimum Number of Trips = %d\n\n",ans);}return 0; }

?

轉(zhuǎn)載于:https://www.cnblogs.com/NaCl/p/9580150.html

總結(jié)

以上是生活随笔為你收集整理的10099 The Tourist Guide的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。