Skip to main content

Posts

Showing posts with the label Floyd Warshall

[ UVa ] 11463 - Commandos

এই সমস্যা টা মিনি-ম্যাক্স টাইপের সমস্যা ।  এই সমস্যা সমাধান করার জন্য প্রথমে আমাদের কে প্রত্যেক বিল্ডিং থেকে প্রত্যেক বিল্ডিং এ যাওয়ার মিনিমাম পাথ বের করতে হবে এই জন্য আমরা Floyd Warshall ব্যবহার করতে পারি ।  এর পর আমাদের কে যে source ও destination দেয়া থাকবে ।  আমরা প্রত্যেক বার source থেকে i হয়ে destination এ যেতে চেষ্টা করবে । যদি আমরা যতগুলি i ব্যবহার করে আমাদের লক্ষ্যে যেতে পারব তাদের মধ্যে যেটা ম্যাক্সিমাম সেটাই আমাদের কে প্রিন্ট করতে হবে ।   কোড :

[ UVa ] 10171 - Meeting Prof. Miguel

এই সমস্যা তে আমাদের কে এমন একটা সিটি বের করতে হবে যে জায়গা তে আমরা প্রফেসারের সাথে দেখা করতে পারব ।  এবং আমাদের খরচ হবে মিনিমাম হবে যদি প্রফেসারে সাথে আমাদের দেখা করা সম্ভব হয় ।  এই জন্য আমরা আমাদের অবস্থান থেকে সবচেয়ে কম খরচে কোথাই  কোথাই যেতে পারি সেটা বের করতে হবে ।  এরপর প্রফেসর তার অবস্থান থেকে সবচেয়ে কম খরচে কোথাই  কোথাই যেতে পারে সেটা বের করতে হবে ।  এখন যে সকল সিটি তে প্রফেসর ও আমরা উভয়ে যেতে পারি সেই সিটি গুলো একটা ভেক্টরে জমা রাখতে হবে ।  ভেক্টরের যে সিটির খরচ সবচেয়ে কম হবে । সেটই আমাদের ও প্রফেসসের মিটিং করা জন্য সবচেয়ে ভাল জায়গা এবং  সেটাই প্রিন্ট করতে হবে । যদি এই রকম একাধিক জায়গা থাকে তবে সবগুলি শহর কে lexicographical order এ প্রিন্ট করতে হবে ।  যদি প্রফেসরের সাথে দেখা করা সম্ভব না হয় তবে প্রিন্ট আমরা You will never meet. প্রিন্ট করব । কোড :

[ UVa ] 423 - MPI Maelstrom

এই সমস্যাতে আমাদের কে একটা নেটওয়ার্ক দেয়া থাকবে । এই নেটওয়ার্কে n সংখ্যক প্রসেস থাকবে ।  আমাদের কে বের করতে হবে ১ নং প্রসেস থেকে অন্য অন্য প্রসেসে কোন ম্যাসেজ পাঠাতে হলে মিনিমাম কত সময় খরচ করতেই হবে । অর্থাৎ আমাদের কে minimax বের করতে হবে ।  যেহেতু ম্যাক্সিমাম ১০০ টি প্রসেস থাকতে পারে সেহেতু আমরা Floyd Warshall ব্যবহার করে খুব সহজেই এই সমস্যার সমাধান করতে পারি ।  কোড :

[ UVa ] 341 - Non-Stop Travel

Floyd Warshall's  এলগরিদম ব্যবহার করে খুব সহজেই এই সমস্যা সমাধান করা যায় ।  আমাদের ইনপুট গ্রাফে যদি u থেকে v তে যাওয়ার জন্য একবার টাইম দেয়া থাকল ২০ সেকেন্ড পরে আবার u থেকে v তে যাওয়ার টাইম দেয়া থাকল ৩০ সেকেন্ড । সেই ক্ষেত্রে আমাদের কে মিনিমাম টাইম অর্থাৎ ২০ সেকেন্ড কে নিতে হবে ।  কোড :