আপনার উপরে একটি প্লেট প্যানকেকের স্ট্যাক রয়েছে যাতে উপরে একটি সিরাপের গ্লোব রয়েছে যাতে এটি ঘন হয়ে যায়। প্রতিটি প্যানকেকের উভয় মুখ কমপক্ষে সিরাপ স্পর্শ না করা পর্যন্ত আপনি খেতে খুশি হবেন না, তবে এখনই শীর্ষ প্যানকেকের কেবল একটি মুখ রয়েছে।
আপনি জানেন যে সিরাপটি এমনকি একটিও প্যানকেকের মধ্য দিয়ে কখনও ভিজবে না, তবে এটি দুটি প্যানকেকের মধ্যে মুখোমুখি যোগাযোগের মাধ্যমে অনির্দিষ্টকালের জন্য স্থানান্তর করা যেতে পারে। একবার প্যানকেকের মুখটি সিরাপ ছোঁয়া গেলে এটি চিরতরে সিরাপযুক্ত প্রলিপ্ত হিসাবে বিবেচিত হয় এবং কোনও সিরাপবিহীন প্রলিপ্ত মুখ তৈরি করে যা এটি সিরাপকে স্পর্শ করে as প্লেটের উপরের দিক থেকে এবং পাশাপাশি সিরাপ স্থানান্তর করা সম্ভব।
আপনি এক বা একাধিক প্যানকেকের নীচে একটি স্প্যাটুলা andুকিয়ে এবং প্যানকেক বাছাইয়ের ক্ষেত্রে ঠিক একইভাবে ফ্লিপ করে প্রতিটি প্যানকেকের মুখটি সিরাপের সাথে আবরণে এগিয়ে যান । (দুর্ভাগ্যক্রমে এই স্পটুলা সিরাপ-প্রতিরোধী, এবং প্যানকেকের মুখগুলি স্পর্শ করে সিরাপ বিতরণে সহায়তা করে না)) দুঃখের বিষয় আপনি কোন প্যানকেকের মুখগুলি সিরাপ ছুঁয়েছে তার ট্র্যাকটি হারাতে পারেন তবে আপনি যে ফ্লিপগুলি তৈরি করেছেন তা মনে আছে।
আপনার অতীত ফ্লিপগুলি দেওয়া কি আপনি নির্ধারণ করতে পারবেন আপনার প্যানকেকগুলি এখনও সিরাপের সাথে লেপযুক্ত কিনা?
চ্যালেঞ্জ
এমন একটি প্রোগ্রাম লিখুন যা প্যানকেকের সংখ্যার জন্য ইতিবাচক পূর্ণসংখ্যামূলক এন এবং আপনি এখন পর্যন্ত যে ফ্লিপগুলি করেছেন সেগুলির জন্য ধনাত্মক পূর্ণসংখ্যার (সমস্ত <= এন) একটি তালিকা লিখুন। তালিকার প্রতিটি সংখ্যা উল্লিখিত প্যানকেকের সংখ্যা উপস্থাপন করে। যদি প্যানকেকস লেপযুক্ত হয়ে থাকে তবে সত্যবাদী মান আউটপুট করুন এবং তা না হলে একটি মিথ্যা মান। ( সত্যবাদী / মিথ্যা সংজ্ঞা )
ইনপুটটি স্টিডিন বা কমান্ড লাইন থেকে আসা উচিত এবং আউটপুটটি স্টাডআউট (অথবা নিকটতম বিকল্প) এ যাওয়া উচিত। আপনার ইনপুটটির জন্য যদি অতিরিক্ত অতিরিক্ত বিন্যাসের প্রয়োজন হয় তবে তা ঠিক আছে: তালিকার [1, 1, 2, 2]
পরিবর্তে 1 1 2 2
।
উদাহরণ
ধরে নিন এন = 2, সুতরাং উপরে একটি সিরাপ দিয়ে শুরু করে আমাদের কাছে একটি প্লেটে দুটি প্যানকেকের স্ট্যাক রয়েছে।
যদি তালিকাটি থাকে তবে এর 1 1 2 2
অর্থ আমরা ...
- উপরের প্যানকেকটি ফ্লিপ করুন - নীচের প্যানকেকের উপরের মুখটি আবরণ করুন
- আবার শীর্ষে ফ্লিপ করুন - শীর্ষ প্যানকেকের মূল নীচের মুখটি আবরণ করুন
- উভয় ফ্লিপ - প্লেট লেপ
- আবার দুটি ফ্লিপ করুন - নীচের প্যানকেকের মূল নীচের মুখটি আবরণ করুন
যেহেতু সব চারটি করে মুখ আবরিত আউটপুট ভালো কিছু হবে True
বা 1
।
যদি তালিকাটি থাকে তবে এর 1 2 2 1
অর্থ আমরা ...
- উপরের প্যানকেকটি ফ্লিপ করুন - নীচের প্যানকেকের উপরের মুখটি আবরণ করুন
- উভয় ফ্লিপ - কিছুই লেপ
- উভয় আবার ফ্লিপ - কিছুই লেপ
- আবার শীর্ষে ফ্লিপ করুন - শীর্ষ প্যানকেকের মূল নীচের মুখটি আবরণ করুন
যেহেতু মুখ প্লেট স্পর্শ এখনো সিরাপ-মুক্ত হয় আউটপুট ভালো কিছু হবে False
বা 0
।
নোট
- ফ্লিপ তালিকাটি নির্বিচারে বড় হতে পারে এবং খালি থাকতে পারে, এই ক্ষেত্রে আউটপুটটি মিথ্যা।
- প্লেটটি সিরাপ-ক্যারিয়ার হিসাবে কাজ করে তবে এটি আবদ্ধ হয়ে যায় কি না তাতে কিছু আসে যায় না। (আসলে যে কোনও ফ্লিপ সলিউশন প্লেটটি কোট করবে কারণ এটি যে প্যানকাকে স্পর্শ করে তার মুখ আবদ্ধ হওয়া আবশ্যক, তবে নির্বিশেষে))
- প্লেটটি উল্টানো যায় না।
- আপনি ধরে নিতে পারেন এই প্যানকেকগুলি এমন একক ডিস্ক যা বলার পক্ষে কোনও পক্ষ নেই, কেবল দুটি বিপরীত মুখ।
স্কোরিং
এটি কোড-গল্ফ। বাইটস মধ্যে সংক্ষিপ্ত সমাধান ।
Put syrup on the pancakes!