Ուղարկել | Բոլոր լուծումները | Լավագույն լուծումները | Վերադառնալ ցուցակին |
KOGH - Կողի հեռացում |
Տրված է N գագաթ և M կող ունեցող կշռված, պարզ(*), կապակցված, ոչ ուղղորդված գրաֆ G։ Գագաթները համարակալված են 1-ից N հաջորդական ամբողջ թվերով, կողերը՝ 1-ից M հաջորդական ամբողջ թվերով։ i-րդ կողը միացնում է ui և vi (ui ≠ vi) գագաթները և նրա կշիռը wi է:
X ենթագրաֆի համար W(X)-ով նշանակենք X-ում ընկած կողերի կշիռների գումարը։
Ձեր խնդիրն է ջնջել գրաֆից մի կող այնպես, որ առաջացած A և B կապակցված կոմպոնենտների համար (եթե գրաֆը մնում է կապակցված, ապա համարել, որ B = Ø, W(Ø) = 0) |W(A) – W(B)| արտահայտության արժեքը լինի նվազագույնը։
Եթե պայմանին բավարարող կողերը շատ են, ընտրել այն մեկը, որի դեպքում ui-ն ամենափոքրն է։ Եթե էլի պատասխանը միանշանակ չէ, վերջիններից ընտրել այն կողը, որի դեպքում vi-ն ամենափոքրն է։
(*) Հիշեցում՝ պարզ է կոչվում այն գրաֆը, որը չունի կրկնվող կողեր և գագաթը ինքն իրեն միացնող կողեր։
Մուտքային տվյալներ
Առաջին տողում տրված են N և M ամբողջ թվերը։ Հաջորդ M տողերից յուրաքանչյուրը նկարագրում է գրաֆի մի կող՝ ui, vi և wi ամբողջ թվերով (1 ≤ ui, vi ≤ N, ui ≠ vi, 1 ≤ wi ≤ 109), որտեղ ui-ն և vi-ն կողով միացվող գագաթների համարներն են, wi-ն՝ կողի կշիռը։ Երաշխավորվում է, որ ոչ մի (ui, vi) չկարգավորված զույգ չի կրկնվում, և որ գրաֆը կապակցված է։
Ելքային տվյալներ
Հարկավոր է արտածել երկու թիվ՝ կողի գագաթների համարները։
Օրինակ
Մուտք 10 11 1 2 1 2 3 10 1 5 2 3 4 7 3 5 9 5 6 8 6 7 5 6 8 3 7 8 12 7 9 1 9 10 8 Ելք 5 6
Ավելացրեց. | Andreasyan |
Ամսաթիվ. | 2019-04-07 |
Ժամանակի սահմանափակումը. | 0.200s-0.300s |
Ծրագրի տեքստի սահմանափակումը. | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Լեզուներ. | C CSHARP C++ 4.3.2 CPP CPP14 JAVA PAS-GPC PAS-FPC PYTHON3 |
Աղբյուրը. | Հանրապետական 2019 |