Skip to main content

[ UVa ] 10048 - Audiophobia

  • আমাকে কোন একটা শহরের একটা জায়গা থেকে অন্য একটা জায়গায় যেতে হবে । আমি বিভিন্ন রাস্তা ব্যাবহার করে আমার  কাঙ্ক্ষিত জায়গায় যেতে পারি । কিন্তু আমাকে এমন রাস্তা ব্যাবহার করে যেতে হবে যে রাস্তা দিয়ে গেলে আমাকে সবথেকে কম decibels এর শব্দ শুনতে হবে ।  
  • এই সমস্যা টি সমাধান করার জন্য আমাদের কে  গ্রাফের ইনফরমেশন দেয়া হবে সেগুলো নিয়ে একটা Minimum Spanning Tree বানাতে হবে । 
  • এখন এই MST র উপর query করতে হলে আমাদের কে DFS/BFS চালাতে হবে । 
  • এইখান থেকে আমরা যে একটা নোড থেকে অন্য একটা নোডে যাওয়ার রাস্তা পাব তার মধ্যে খুজে দেখব কোন এজের ওয়েট সবথেকে বেশি । সেটাই আমাদের কে প্রিন্ট করেত হবে । 
  • যদি কোন রাস্তা না থাকে তবে no path প্রিন্ট করতে হবে । 
কোড :

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

Comments

Popular posts from this blog

[Python] *args vs **Kwargs

পাইথনে ফাংশন আর্গুমেন্ট *args ও **kwargs আমরা মাঝে মাঝেই পাইথনের ফাংশনের প্যারামিটার হিসাবে *args, ** kwargs কে দেখতে পাই । তো এগুলো আসলে কি ? এবং এগুলো কিভাবে কাজ করে ? এই দুইটা বুঝতে হলে প্রথমে আমাদের আর্গুমেন্ট কি সেটা বুঝতে হবে । আর্গুমেন্ট কোন ফাংশন কল করার সময় আমার ফাংশনে যে ভেলু pass করি করি সেটা কে বলা হয় আর্গুমেন্ট । পাইথনে দুই ধরনের আর্গুমেন্ট আছে, Keyword Argument. Positional Argument. Keyword Argument যে সকল আর্গুমেন্টের সাথে তার আইডেন্টিফায়ার থাকে সেসব আর্গুমেন্ট কে keyword argument বলে । উদাহরণ দিলে পরিষ্কার হয়ে যাবে। মনে করেন আমাদের এইরকম একটা ফাংশন আছে, উপরে আমরা ৪ নং লাইনে ফাংশন কল করার সময় যে দুইটা আর্গুমেন্ট pass করলাম সেটাকে বলা হয় keyword argument. এখানে name = 'Arif' এ name এবং age = 24 এর age আর্গুমেন্ট দুইটির আইডেন্টিফায়ার । কারণ name, age দিয়ে আমরা আলাদা ভাবে দুইটা আর্গুমেন্টকে আইডেন্টিফাই করতে পারছি । Positional Argument যে আর্গুমেন্ট গুলো keyword argument না সেগুলো কে positional argument বলে । এই ধরনের আর্গুমেন্টের কোন আইডেন্টি...