P1111 修復公路 prim

2022-02-15 23:12:39 字數 1066 閱讀 5503

題目背景

a地區在**過後,連線所有村莊的公路都造成了損壞而無法通車。**派人修復這些公路。

題目描述

給出a地區的村莊數n,和公路數m,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路(可以由多條公路連成一條道路)

輸入輸出格式

輸入格式:

第1行兩個正整數n,m

下面m行,每行3個正整數x, y, t,告訴你這條公路連著x,y兩個村莊,在時間t時能修復完成這條公路。

輸出格式:

如果全部公路修復完畢仍然存在兩個村莊無法通車,則輸出-1,否則輸出最早什麼時候任意兩個村莊能夠通車。

輸入輸出樣例

輸入樣例#1: 複製

4 4

1 2 6

1 3 4

1 4 5

4 2 3

輸出樣例#1: 複製

5 說明

n<=1000,m<=100000

x<=n,y<=n,t<=100000

code:

#include

const

int inf=0x3f3f3f3f;

int n,m,cnt,sum;

int vis[1005],head[1005],mincost[1005],mst[1005];

struct edgedge[200010];

void add(int x,int y,int t)

void prim(int x)

int main()

for(int i=1;i<=n;i++) mst[i]=inf;

for(int i=1;i<=n;i++) mincost[i]=inf;

cnt=0,vis[1]=1;

prim(1);

for(int i=1;i<=n;i++)

if(!vis[i])

printf("%d",sum);

return

0;}

P1111 修復公路

a地區在 過後,連線所有村莊的公路都造成了損壞而無法通車。派人修復這些公路。給出a地區的村莊數n,和公路數m,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路 可以由多條公路連成...

P1111 修復公路

a 地區在 過後,連線所有村莊的公路都造成了損壞而無法通車。派人修復這些公路。給出a地區的村莊數 n 和公路數 m 公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠通車,即最早什麼時候任意兩條村莊都存在至少一條修復完成的道路 可以由多條公...

P1111 修復公路

題目提供者該使用者不存在 標籤並查集 難度普及 提高 提交該題 討論 題解記錄 a地區在 過後,連線所有村莊的公路都造成了損壞而無法通車。派人修復這些公路。給出a地區的村莊數n,和公路數m,公路是雙向的。並告訴你每條公路的連著哪兩個村莊,並告訴你什麼時候能修完這條公路。問最早什麼時候任意兩個村莊能夠...