Light OJ - 1417 - Forwarding Emails - Tutorial

Topics of this problem: Strongly Connected Component(SCC)

১) প্রথমেই গ্রাফটির স্ট্রংলি কানেক্টেড কম্পোনেন্ট বের করতে হবে। এবং প্রতিটি কম্পোনেন্ট এর সাইজ এবং ওই কম্পোনেন্ট এ থাকা নোডগুলোর মধ্যে সর্বনিম্ন নোড টি মনে রাখতে হবে। 

২) এরপর, যেই অর্ডার এ গ্রাফটির SCC বের করা হয়েছে তার ঠিক উলটো অর্ডার এ আবার DFS চালাতে হবে। ( মানে তুমি যদি SCC তে স্ট্যাক ব্যাবহার কর, এবার QUEUE ব্যাবহার করবে -_-)
DFS চালিয়ে দেখতে হবে এই কম্পোনেন্ট কোন কোন কম্পোনেন্ট কে স্পর্শ করে। অর্থাৎ, এই কম্পোনেন্ট থেকে কোন কোন কম্পোনেন্ট এ যাওয়া যায়। সেইসব কম্পোনেন্ট এর সাইজকে এই কম্পোনেন্ট এর সাইজের সাথে যোগ করে দিবো।

৩) এবার দেখবে, প্রতিটি কম্পোনেন্ট এর সাইজ কত? যে কম্পোনেন্ট এর সাইজ সর্বোচ্চ সে কম্পোনেন্ট এর সর্বনিম্ন নোড টি আউটপুট হবে। যদি একাধিক কম্পোনেন্ট এর সাইজ সমান পাওয়া যায়, তবে তাদের নোডগুলোর মধ্যে সর্বনিম্ন নোড টি হবে আউটপুট।

SCC সম্পর্কে জানতে ক্লিক করুন

Comments

Trending Post

SPOJ - PARSUMS - Nonnegative Partial Sums with Sliding Range Minimum Query

GCD of all numbers of given range of the array with point update

LeetCode - Single Number III