Skip to main content

[ UVa ] 10685 - Nature

  • যে ক্রিয়েচারের এর সেট সব থেকে বড় সেটার মোট ক্রিয়েচার সংখ্যা প্রিন্ট করতে হবে :) 
  • Union-Find Disjoint Sets ব্যাবহার করলে খুব সহজেই এই কাজটা করা যাবে । 
কোড : 
/**
* Problem : 10685 - Nature
* Verdict : Accepted.
* Time : 490 ms.
* Write : Mehadi Hasan Menon.
* Date : 29.12.16.
**/
#include <iostream>
#include <unordered_map>
#include <algorithm>
using namespace std;
unordered_map <string, string> rep;
unordered_map <string, int> number_of_creature;
int max_elimentary_chain = 1;
string find_rep(string s)
{
if(rep[s] == s) {
return s;
}
rep[s] = find_rep(rep[s]);
return rep[s];
}
int union_ab(string a, string b)
{
string u = find_rep(a); string v = find_rep(b);
if(u != v)
{
rep[u] = v;
number_of_creature[v] = number_of_creature[v] + number_of_creature[u];
max_elimentary_chain = max(max_elimentary_chain, number_of_creature[v]);
}
}
int main()
{
freopen("input.txt", "r+", stdin);
int c, r;
string s1, s2;
while(cin >> c >> r)
{
if(c == 0 && r == 0) {
break;
}
// make initial set
for(int i = 0; i < c; i++)
{
cin >> s1;
rep[s1] = s1;
number_of_creature[s1] = 1;
}
for(int i = 0; i < r; i++)
{
cin >> s1 >> s2;
union_ab(s1, s2);
}
cout << max_elimentary_chain << endl;
max_elimentary_chain = 1;
for(int i = 0; i < c; i++)
{
rep.clear();
number_of_creature.clear();
}
}
return 0;
}
view raw 10685.cpp hosted with ❤ by GitHub

হ্যাপি কোডিং :D

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