Light OJ - 1281 - New Traffic System - Tutorial
Problem Description here
Topic Of This Problem: Dijkstra
১) প্রথমত, অলরেডি এক্সিস্টিং রোড এবং নতুন রোড দুইটি আলাদা ভেক্টরে রাখতে হবে। এবং তাদের কস্টও আলাদা আলাদা ভেক্টরে রাখতে হবে।
২) সাধারণত, ডায়াক্সট্রা তে আমরা প্রায়োরিটি কিউ তে দুইটি ইনফরমেশন রাখি। একটি নোড এবং স্টার্টিং নোড থেকে এই নোডে আসার কস্ট। এখানে আরো একটি ইনফরমেশন রাখা লাগবে। আর তা হলো, এই নোডে আসতে নতুন কয়টা রোড আমি ব্যাবহার করেছি।
৩) স্টার্টিং নোড থেকে প্রতিটি নোডের দূরুত্ব রাখার জন্য আগে আমরা 1D array ব্যাবহার করতাম। আর এখন ব্যাবহার করবো 2D Array. অ্যারের arr[x][y] - নির্দেশ করে স্টার্টিং নোড থেকে x নোডে , y সংখ্যক নতুন রোড ব্যাবহার করে আসার কস্ট।
৪) এরপর আমরা প্রায়োরিটি কিউ এর প্রতিটি এলিমেন্ট ব্যাবহার করে, প্রথমে ওই এলিমেন্ট থেকে এক্সিস্টিং রোড দ্বারা যতোদিকে যাওয়া যায়, গিয়ে কস্ট আপডেট করে দিবো।
এরপর, ওই এলিমেন্ট থেকে নতুন রোড দ্বারা যতোদিকে যাওয়া যায় গিয়ে কস্ট আপডেট করবো।
সবশেষে ডেস্টিনেশন নোডে ০ থেকে d সংখ্যক নতুন রোড ব্যাবহার করে যেসব কস্টে পৌঁছানো যায় তাদের মধ্যে সর্বনিম্ন কস্ট ই এন্সার।
ডায়াক্সট্রা সম্পর্কে জানতে ক্লিক করুন
Comments
Post a Comment