Skip to main content

[ UVa ] 10946 - You want what filled ?

  • আমরা আমাদের আইল্যান্ড থেকে একটা করে পজিশন রিড করবো । যদি ' . ' পাই তবে সেটা স্কিপ করবে । 
  • এখন প্রত্যেক টা গর্তের জন্য সেখানে Flood Fill চালাবো । আমাদের কে  পাশাপাশি ৪ দিকে যেতে হবে এবং  হিসাব করতে হবে  ওই একই ধরনের ক্যারেক্টার আসে পাশে কয়টা আছে ।  
  • ওই ক্যারেক্টার ছাড়া অন্য  কোন ক্যারেক্টার পাই তবে আমাদের কে সেখান থেকে ব্যাক করতে হবে । 
  • একই ধরনের কয়টা ক্যারেক্টার পাওয়া গেলও সেটা আমাদের rank_list এ ওই ক্যারেক্টার সহ জমা করে রাখতে হবে । 
  • পুরা আইল্যান্ড যখন ভ্রমণ করা শেষ তখন আমাদের  rank_list কে সমস্যা তে বর্ণিত শর্ত অনুসারে সর্ট করতে হবে । 
  • rank_list এর সাইজ ৫০ * ৫০ এর একটু বেশি করে রাখা নিরাপদ । 
  •  কারণ আমাদের আইল্যান্ড এর প্রত্যেক টা পজিশন যদি আলাদা আলাদা হোল হয় সেই ক্ষেত্রে যদি rank_list এর সাইজ ছোট হয় তবে রানটাইম এরর খেতে হবে :) 
কোড :

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

Comments

Popular posts from this blog

Operator Overloading Vs priority_queue in C++

priority_queue ডিফল্ট ভাবে বড় ডাটা কে টপে নিয়ে আশে । আমরা যদি < অপারেটর ওভারলোড করি তবে আমাদের মাথায় রাখতে হবে যে STL priority_queue হল ম্যাক্স priority_queue যার অর্থ ম্যাক্স উপদান কে সবার প্রথমে নিয়ে আসবে । এটা কে min priority_queue এ নিয়ে আসতে হলে return a.age < b.age;  এই লাইন কে , return a.age > b.age; এই লাইন দিয়ে পরিবর্তন করতে হবে । কোড : Output : 10 9 8 7 6 5 4 3 2 1 এখন আমরা যদি আউটপুট কে 1 2 3 4 5 6 7 8 9 10 দেখাতে চাই তবে ১২ নং লাইন পরিবর্তন করে লিখতে হবে return a.age > b.age; ধন্যবাদ :)
  Good becomes great, bad becomes worse. A strong man who has known power all his life can lose respect for that power, but a weak man knows the value of strength and knows compression

পাইথনে Yield কিভাবে কাজ করে ?

Yield কি সেটা বোঝার জন্য Generator বোঝা লাগবে । আবার Generator কি সেটা বোঝার জন্য Iterables বুঝতে হবে । কি প্রথমেই মাথা ঘুরে গেল ? আচ্ছা মাথা ঘুরলে ঘুরতে দেন :D  আমরা শুরু করে দেই  । Iterables কি ? আমরা যখন কোন লিস্ট ক্রিয়েট করি । আমরা লিস্টের আইটেম গুলি একটা একটা করে রিড করতে পারি । এটাকেই বলা হচ্ছে iteration code: এখানে my_list হল iterable . যখন আমরা list comprehension ব্যবহার করে কোন লিস্ট ক্রিয়েট করি সেটাও একটা iterable । code : Python এ যেসব জিনিস iterable যেমন: টাপল, লিস্ট, ফাইল, স্ট্রিং, .... ইত্যাদি কে আমরা for .... in ...: দিয়ে রিড করতে পারবো । ডাটা খুব সহজেই রিড করার জন্য এইটা খুব কাজে দেয় । কিন্তু এর একটা সমস্যা আছে । সেটা হল । এইটা সব সময় লিস্টের আইটেম গুলিকে মেমরি তে ষ্টোর করে রাখে । এখন আমাদের সবসময় মেমরি তে লিস্ট আইটেম গুলি সেভ করে নাও রাখা লাগতে পারে । তো এইটা আমরা কি ভাবে সমাধান করবো ? Generators কি ? Generators গুলো হল  একধরনের iterators । কিন্তু আমরা কেবল একবারই generator এ iterate করতে পারি । এর কারণ হল generator সব ভেলু কে মেমরি তে ষ্টোর...