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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

牛客 - 导航系统(最小生成树+Floyd)

發(fā)布時(shí)間:2024/4/11 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 牛客 - 导航系统(最小生成树+Floyd) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目鏈接:點(diǎn)擊查看

題目大意:有 n 個(gè)城市由 n - 1 條邊連接成一個(gè)連通塊,給出一個(gè) n * n 的距離矩陣,代表 n 個(gè)城市中每兩個(gè)城市之間的最短路,問該矩陣是否合法,如果合法從小到大輸出 n - 1 條邊

題目分析:比賽的時(shí)候沒反應(yīng)過來這個(gè)題的題意是想干什么,補(bǔ)題的時(shí)候發(fā)現(xiàn)原來就是一個(gè)最小生成樹,因?yàn)?n 個(gè)點(diǎn)由?n - 1 條邊組成了聯(lián)通塊,很顯然是一棵樹,題目又說了需要顯示城市之間的最短距離,這就暗示了這棵樹就是 n 個(gè)城市的最小生成樹,現(xiàn)在給出的矩陣是否合法,我們只需要先判斷一下是否對稱(廢話),然后再利用這個(gè)矩陣建邊然后跑出最小生成樹,利用這個(gè)最小生成樹跑一遍 Floyd ,最后與原距離矩陣比較一下是否相同就可以判斷是否合法了

代碼:

#include<iostream> #include<cstdio> #include<string> #include<ctime> #include<cmath> #include<cstring> #include<algorithm> #include<stack> #include<climits> #include<queue> #include<map> #include<set> #include<sstream> #include<unordered_map> using namespace std;typedef long long LL;typedef unsigned long long ull;const int inf=0x3f3f3f3f;const int N=510;struct Edge {int u,v,w;Edge(int u,int v,int w):u(u),v(v),w(w){}bool operator<(const Edge& a)const{return w<a.w;} };vector<Edge>edge;vector<int>ans;int maze[N][N],dis[N][N],f[N];int find(int x) {return x==f[x]?x:f[x]=find(f[x]); }bool merge(int x,int y) {int xx=find(x);int yy=find(y);if(xx!=yy){f[xx]=yy;return true;}return false; }int main() { //#ifndef ONLINE_JUDGE // freopen("input.txt","r",stdin); // freopen("output.txt","w",stdout); //#endif // ios::sync_with_stdio(false);int n;scanf("%d",&n);for(int i=1;i<=n;i++)f[i]=i;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){scanf("%d",&maze[i][j]); dis[i][j]=i==j?0:inf;}for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++){edge.push_back(Edge(i,j,maze[i][j]));if(maze[i][j]!=maze[j][i])return 0*printf("No");}sort(edge.begin(),edge.end());for(auto it:edge){if(merge(it.u,it.v)){ans.push_back(it.w);dis[it.u][it.v]=dis[it.v][it.u]=it.w;}}for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(maze[i][j]!=dis[i][j])return 0*printf("No");puts("Yes");for(auto it:ans)printf("%d\n",it);return 0; }

?

總結(jié)

以上是生活随笔為你收集整理的牛客 - 导航系统(最小生成树+Floyd)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 高清中文字幕 | 国内一级黄色片 | 在线观看国产精品入口男同 | 97成人超碰 | av作品在线观看 | 午夜视频在线播放 | 综合久草 | 黄色激情av | 欧美不卡一区二区三区 | 欧美乱妇日本无乱码特黄大片 | 无码精品a∨在线观看中文 福利片av | 激情无遮挡 | 国产真实夫妇交换视频 | av在线天堂 | 亚洲久视频 | 欧美精品久久久久a | 91中文 | 美女网站免费 | 中文字幕午夜 | 五月婷婷综合色 | 中文字幕11页中文字幕11页 | 亚洲精品一区二三区不卡 | av影库| 乳孔很大能进去的av番号 | www,日韩 | 亚洲热在线 | 超碰免费97 | 美女啪啪一区二区 | 亚洲一区二区中文字幕 | 亚洲第一视频在线 | 在线观看国产小视频 | 免费看黄色片网站 | 毛片基地免费观看 | 啊灬啊灬啊灬秀婷 | 深爱五月综合网 | 国产对白自拍 | 午夜激情国产 | 欧美日韩一区二区区 | 一级女性全黄久久生活片免费 | 成人激情久久 | √资源天堂中文在线视频 | 久久久天堂 | 午夜裸体性播放 | 国产美女自慰在线观看 | 黄色网址在线免费 | 一级性生活免费视频 | 精品一区国产 | 成人欧美一区二区三区黑人 | 17c在线| 影音先锋中文字幕在线视频 | 日韩视频免费播放 | 国产麻豆剧传媒精品国产 | 播播网色播播 | 欧美成人免费在线观看视频 | 免费99精品国产自在在线 | proumb性欧美在线观看 | 天天骑夜夜操 | 黄色片久久久久 | jizzjizz欧美69巨大 | 国产剧情在线视频 | 日韩精品一二三四区 | 国产一区二区精华 | 成人免费网站 | 嫩草影院中文字幕 | 国产微拍精品 | 亚洲成人伊人 | 日韩视频在线观看免费 | 久久成人一区 | 精品国产一区二区不卡 | 已满18岁免费观看电视连续剧 | 葵司av电影| 日韩激情在线视频 | 91亚洲国产成人精品一区 | 成人深夜福利在线观看 | 夜操操| 欧美一区二区三区免费观看 | 伊人狼人影院 | 欧美黄色小说视频 | 蜜桃免费av| 一区二区三区麻豆 | 国产破处视频 | 狠狠一区| 午夜视频在线免费看 | 国产精品久久av无码一区二区 | 被两个男人吃奶三p爽文 | 中文字幕影片免费在线观看 | 久久精品日韩无码 | 无码人妻精品一区二区三区99不卡 | 亚洲av无码一区二区三区网址 | 亚洲男人天堂 | av免费精品| 色屁屁ts人妖系列二区 | 男男受被啪到高潮自述 | 日本午夜大片 | 免费成年人视频在线观看 | 99热一区二区三区 | 免费网站在线高清观看 | 日韩一区高清 | 91久久国产 |