Skip to main content

[ UVa ] 11749 - Poor Trade Advisor.

  • আমরা ইনপুট নেয়ার সময়ই max_ppa এর মান বের করবো ।
  • এখন ১ নং শহর থেকে যাত্রা শুরু করে n পর্যন্ত সব শহরেই যাব যদি না সেই শহর এ আমরা আগে কখনো গিয়ে থাকি। 
  • আমরা কোন একটা শহর থেকে যাত্রা শুরু করলে ওই শহর থেকে যতগুলি শহরে যাওয়া যায় তার সবগুলি তে যাওয়ার জন্য চেষ্টা করবো 
  • যদি একটা শহর u থেকে v তে যেতে PPA এর মান max_ppa এর সমান না হয় তবে আমরা সেই রাস্তাটা কে বাদ দিয়ে continue করবো । 
  • কোন এটা শহর থেকে যাত্রা শুরু করলে মোট কয়টা শহরে যাওয়া যায় সেটা number_of_city তে জমা করে রাখব । 
  • শেষে ম্যাক্সিমাম number_of_city ই হল আমাদের মহান সিজার সাহেবের Provience [ উপনিবেশ ] । যেটা খুজে বের করার জন্য তিনি অস্থির হয়ে গেছেন :P 
 কোড করার আগে :
  • আমাদের যদি একই road কয়েক বার ইনপুট দেয় এবং তাদের PPA যদি আলাদা আলাদা হয় যেমন : [ a, b ] = 10,  [ b, a ] = 20,  [ a, b ] = -111 তবে আমাদের কে ম্যাক্সিমাম PPA [ a, b ]=  20 কে নিতে হবে । 
  • PPA of that road [ fits in a signed 32 bit variable ] তার মানে PPA কিন্তু নেগেটিভ হতে পারে । তাই max_ppa এর মান শুরুতে -2147483648 দিতে হবে । শূন্য দিলে WA খেতে হবে ;)
কোড :

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

Comments

Popular posts from this blog

উবুন্টুতে রুট পাসওয়ার্ড ভুলে তা রিকভার করার উপায় ।

যদি কেউ রুট পাসওয়ার্ড ভুলে যান তাহলে নিচের কাজ গুলো করে নতুন পাসওয়ার্ড সেট করতে পারবেন: প্রথমে পিসি রিস্টার্ট দিন । দিয়ে UP/DOWN করে kernel version সিলেক্ট করে e চাপুন । ব্ল্যাক Screen আসবে এবার একটা Space দিয়ে লিখুন “Single” [ Enter ] এরপর b চাপুন ফলাফল : লিনাক্সের Single user Mood এ চলে আসছেন । এখন লিখুন passwd root [ Enter ] এখন নতুন পাসওয়ার্ড খানা টাইপ করেন [ এন্টার ] আবার টাইপ করেন [ এন্টার ] কাজ শেষ , এবার reboot টাইপ করেন । এখন নতুন পাসওয়ার্ড দিয়ে লগইন করেন। পুনশ্চ : যদি আপনার উইন্ডোজ এর সাথে ডুয়েল বুট করা থাকে তবে এই প্রক্রিয়া কাজ করবে না ।

পাইথনে জেনারেটর ও তার খুঁটিনাটি বিষয়

এখানে আমরা দেখব যে পাইথনে জেনারেটর বিষয়টা কি । আমরা কিভাবে জেনারেটর বানাতে পারি । জেনারেটর এক্সপ্রেশন কি ? আমাদের কেন ও কি অবস্থায় জেনারেটর ব্যবহার করা দরকার । তো শুরু করা যাক । জেনারেটর কি ? পাইথনে iterator তৈরি করার সবচেয়ে সহজ উপয় হল জেনারেটর । সাধারণ ভাবে বলতে গেলে জেনারেটর একটা ফাংশন যেটা একটা iterator অবজেক্ট রিটার্ন করে । যেটাকে পরে আমরা iterate করতে পারি । এবং যেটা কেবল মাত্র একবারই iterate করা যাবে । এখন প্রশ্ন হল এই জেনারেটর কিভাবে বানানো যায় ? জেনারেটর বানানো খুব সহজ । আমরা সাধারণ ফাংশন যেভাবে লিখি ঠিক সেভাবেই আমরা জেনারেটর বানাতে পারি । কিন্তু এখানে return স্টেটমেন্টের পরিবর্তে yield স্টেটমেন্ট থাকবে । যদি কোন একটা ফাংশনে অন্তত একটা yield স্টেটমেন্ট থাকে তবে সেটা কে আমরা জেনারেটর বলতে পারি । তবে একটা জেনারেটরে একাধিক yield স্টেটমেন্ট থাকতে পারে । yield এবং return দুইটাই ফাংশন থেকে কোন ভেলু রিটার্ন করে কিন্তু দুইটার মধ্যে পার্থক্য হল return স্টেটমেন্ট একটা ফাংশন কে পুরাপুরি terminate করে ফেলে । কিন্তু yield ফাংশন কে terminate না করে ফাংশনকে pauses করে রাখ...