কম্পিউটার টিউটোরিয়াল

C++-এ টিকেটের লিস্ট থেকে যাত্রাপথ (Itinerary) নির্ণয়


প্রস্থান এবং আগমন এয়ারপোর্টের জোড়া হিসেবে টিকেটের লিস্ট দেওয়া আছে। চেন্নাই থেকে যাত্রা শুরু করে সঠিক ক্রমে যাত্রাপথ খুঁজে বের করুন।

ইনপুট: [["Mumbai","Kolkata"],["Chennai","Mumbai"],["Delhi","Bangalore"],["Kolkata","Delhi"]]

আউটপুট: ["Chennai","Mumbai","Kolkata","Delhi","Bangalore"]

সমাধানের ধাপসমূহ

  • গ্রাফ তৈরি করুন: প্রতিটি প্রস্থান এয়ারপোর্ট থেকে আগমন এয়ারপোর্টের মাল্টিসেট (multiset) রাখুন।
  • DFS-ভিত্তিক visit() ফাংশন: কারেন্ট এয়ারপোর্ট থেকে সব আউটগোইং এজ ট্রাভার্স করুন, এজ মুছে ফেলুন, রিকার্সিভ কল দিন।
  • ভিজিট শেষে এয়ারপোর্টকে রেজাল্ট ভেক্টরে পুশ করুন।
  • শেষে রেজাল্ট রিভার্স করুন।

উদাহরণ (C++ কোড)

#include <bits/stdc++.h>
using namespace std;

void print_vector(vector v) {
    cout << "[";
    for(int i=0; i ret;
    map> graph;
    vector findItinerary(vector>& tickets) {
        for(int i=0; i> v = {{"Mumbai","Kolkata"},{"Chennai","Mumbai"},{"Delhi","Bangalore"},{"Kolkata","Delhi"}};
    print_vector(ob.findItinerary(v));
}

ইনপুট

{{"Mumbai","Kolkata"},{"Chennai","Mumbai"},{"Delhi","Bangalore"},{"Kolkata","Delhi"}}

আউটপুট

[Chennai, Mumbai, Kolkata, Delhi, Bangalore, ]
  1. C++-এ দিয়ে गये পয়েন্ট থেকে সম্ভাব্য কোয়াড্রিল্যাটারেল সংখ্যা বের করুন

  2. বাইনারি ট্রিতে রুট থেকে নির্দিষ্ট নোডের দূরত্ব বের করা C++-তে

  3. C++ প্রোগ্রাম: অর্ডার-স্ট্যাটিস্টিক অ্যালগরিদম দিয়ে ith লার্জেস্ট নম্বর খুঁজে বের করা

  4. পাইথনে লিংকড লিস্ট ফোল্ড করে ইন্টারসেক্টিং নোডের যোগফল বের করার প্রোগ্রাম