Skip to main content

[ UVa ] 908 - Re-connecting Computer Sites

/**
* Problem : 908 - Re-connecting Computer Sites
* Verdict : Accepted.
* Time : 0.00 ms.
* Writer : Mehadi Hasan Menon.
****/
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct edge {
int u, v, w;
bool operator < (const edge &p) const {
return w < p.w;
}
};
const int mx = 1000005;
int boss[mx];
vector <edge> edge_list;
void init_boss(int n) {
for(int i = 1; i <= n; i++) {
boss[i] = i;
}
}
int find_boss(int x) {
return (boss[x] == x) ? x : boss[x] = find_boss(boss[x]);
}
int main()
{
freopen("input.txt", "r+", stdin);
int n, u, v, cost;
bool flag = false;
while(scanf("%d", &n) == 1)
{
int total = 0;
for(int i = 0; i < n - 1; i++) {
scanf("%d %d %d", &u, &v, &cost);
total += cost;
}
int k, m;
scanf("%d", &k);
for(int i = 0; i < k; i++) {
scanf("%d %d %d", &u, &v, &cost);
edge e;
e.u = u, e.v = v, e.w = cost, edge_list.push_back(e);
}
scanf("%d", &m);
for(int i = 0; i < m; i++) {
scanf("%d %d %d", &u, &v, &cost);
edge e;
e.u = u, e.v = v, e.w = cost, edge_list.push_back(e);
}
sort(edge_list.begin(), edge_list.end());
init_boss(n);
int sz = edge_list.size(), min_cost = 0;
for(int i = 0; i < sz; i++) {
int u = find_boss(edge_list[i].u), v = find_boss(edge_list[i].v);
if(u != v) {
boss[v] = u;
min_cost += edge_list[i].w;
}
}
if(flag) {
puts("");
}
flag = true;
printf("%d\n%d\n", total, min_cost);
edge_list.clear();
}
return 0;
}
view raw 908.cpp hosted with ❤ by GitHub

Comments

Popular posts from this blog

উবুন্টুতে রুট পাসওয়ার্ড ভুলে তা রিকভার করার উপায় ।

যদি কেউ রুট পাসওয়ার্ড ভুলে যান তাহলে নিচের কাজ গুলো করে নতুন পাসওয়ার্ড সেট করতে পারবেন: প্রথমে পিসি রিস্টার্ট দিন । দিয়ে UP/DOWN করে kernel version সিলেক্ট করে e চাপুন । ব্ল্যাক Screen আসবে এবার একটা Space দিয়ে লিখুন “Single” [ Enter ] এরপর b চাপুন ফলাফল : লিনাক্সের Single user Mood এ চলে আসছেন । এখন লিখুন passwd root [ Enter ] এখন নতুন পাসওয়ার্ড খানা টাইপ করেন [ এন্টার ] আবার টাইপ করেন [ এন্টার ] কাজ শেষ , এবার reboot টাইপ করেন । এখন নতুন পাসওয়ার্ড দিয়ে লগইন করেন। পুনশ্চ : যদি আপনার উইন্ডোজ এর সাথে ডুয়েল বুট করা থাকে তবে এই প্রক্রিয়া কাজ করবে না ।

Fix The BIOS in this system is not fully ACPI compliant in Windows 7

এই সমস্যা সমাধান করার জন্য আপনি নিচের ধাপ গুলো অনুসরণ করুন। ধাপ ১ :  আপানর  কম্পিউটার এ উইন্ডোজ এর ডিস্ক থেকে বুট করুন । নীচের মত উইন্ডো আসলে Shift + F10 চাপুন । এর ফলে কমান্ড প্রম্প্ট ওপেন হবে। ধাপ ২ : এখন CMD তে নিচের কমান্ড গুলি ধারবাহিক ভাবে লিখুন C: bootrec /FixMbr bootrec /FixBoot bootrec /RebuildBcd exit  এখানে  C হলো যে ড্রাইভ এ উইন্ডোজ দেয়া আছে।  আপনার যদি অন্য কোনো ড্রাইভ ( D, E, F, ..... ) এ উইন্ডোজ দেয়া থাকে তবে আপনাকে C এর জায়গায় সেই ড্রাইভ এর নাম লিখতে হবে।  উপরের সব কমান্ড যদি সঠিক ভাবে বিল্ড হয় তবে আপনি আপনার কম্পিউটার রিস্টার্ট দিন।  দেখবেন আপনার সমস্যা সমাধান হয়ে গেছে :D