একটি পিপীলিকা একটি ওয়্যারফ্রেম কিউবের প্রান্তগুলি (মুখ নয়) ধরে চলে। এটির প্রতিটি মুখোমুখি এটি একটি কাঁটাচামচ দিয়ে উপস্থাপন করে যা থেকে দুটি নতুন প্রান্ত শাখা বন্ধ করে দেয়। পিঁপড়া কোন দিকে ফিরবে - left
বা right
। এই দিকটি পিঁপড়ার সাথে সম্পর্কিত, যিনি ভার্টেক্সের মুখোমুখি এবং কিউবের বাইরে রয়েছেন। আপনার লক্ষ্যটি পিঁপড়ের যে পছন্দগুলি left
/ right
পছন্দগুলি অনুসরণ করেছিল তার ক্রম থেকে এটি নির্ধারণ করা হয় যে এটি শুরু হওয়া একই অবস্থানে শেষ হয় কিনা।
উদাহরণস্বরূপ, যদি পিপড়াটি চারবার বামে পরিণত হয় ( left left left left
), এটি ঘড়ির কাঁটার বিপরীত দিকে গিয়ে শুরু করেছিল এবং একই জায়গায় এটি শুরু হয়েছিল। তবে, যদি এটি যায় তবে এটি left left left left right
কিউবের অন্য কোনও স্পটে শেষ হবে। এছাড়াও, যদি এটি যায় তবে এটি left right right right left
তার প্রারম্ভিক প্রান্তে শেষ হয় তবে বিপরীতমুখী মুখোমুখি হয় যা একই অবস্থান হিসাবে গণনা করে না।
পিপীলিকার পথটি প্রান্তটি শুরু করতে পারে এমন কিনারা সহ পুনরায় পুনরাবৃত্তি করতে পারে তবে এটি পুরো ক্রমটির পরে যেখানে শেষ হয় সেখানে কী ঘটে তা গুরুত্বপূর্ণ।
একটি নামকৃত ফাংশন লিখুন যা পিঁপড়ের পালা এবং ক্রমগুলির ক্রম নেয় এবং ক্রমের পরে পিপড়াটি তার প্রারম্ভিক অবস্থানে ফিরে আসে কিনা তা আউটপুট করে। কোনও ভেরিয়েবলের নামহীন ফাংশন বরাদ্দ করা এটির নামকরণের কার্যকারিতা তৈরি করার জন্য যথেষ্ট।
(সম্পাদনা করুন: যদি আপনার ভাষা কোনও নামযুক্ত ফাংশন করতে না পারে তবে এটি পরিবর্তে এসটিডিআইএন / প্রিন্টিং বা স্ট্যাকের মাধ্যমে ইনপুট এবং আউটপুট দিয়ে ফাংশনটি কার্যকর করতে পারে that's যদি এটি সম্ভব না হয় তবে এটিকে একটি স্নিপেট তৈরি করুন যাতে ইনপুট এবং আউটপুট সংরক্ষণ করা হয়) ভেরিয়েবল।)
ইনপুট
একটি ক্রম left
/ right
দৈর্ঘ্য সিদ্ধান্ত 0
থেকে 31
আপনার পছন্দের একটি বিন্যাসে প্রতিনিধিত্ব সমেত। এটি অক্ষরের একটি স্ট্রিং R
/ L
, সংখ্যার একটি তালিকা 1
/ -1
বা বুলিয়ানগুলির একটি অ্যারে হতে পারে। আপনার কোডের জন্য পদ্ধতির নাম বা স্ট্রিং কার্যকর হওয়ার মতো চিটচিটে কিছুই নেই।
নীচের পরীক্ষার কেসগুলি থেকে আলাদা হলে দয়া করে পরীক্ষার কেসগুলি আপনার ফর্ম্যাটে পোস্ট করুন।
আউটপুট
True
/ False
, 0
/ 1
অথবা আপনার ভাষায় অ্যানালগগুলি।
জয়ের মানদণ্ড
সবচেয়ে কম বাইট জেতা মনে রাখবেন, আপনাকে একটি নামযুক্ত ক্রিয়া দেওয়া দরকার। ফাংশনের বাইরে আপনার কোড থাকতে পারে তবে সেই বাইটগুলিও গণনা করে। আপনার ফাংশনটি একাধিকবার বলা হলে সঠিকভাবে আচরণ করা উচিত।
পরীক্ষার মামলা
True
কেস (প্রতি লাইনে এক, দ্বিতীয় খালি তালিকা):
1 1 1 1
-1 -1 -1 -1
1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1
-1 1 1 -1 -1 1 1 -1
1 1 1 -1 -1 -1 -1 1
1 -1 -1 1 -1 -1
1 1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
-1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
False
কেস (প্রতি লাইনে একটি):
1
1 1
1 1 1
-1 1
1 -1 -1 -1 1
1 -1 -1 1 1
-1 1 -1 1
1 1 1 1 -1
-1 -1 1 -1 1 -1 -1 1
1 -1 1 1 1 1 -1 -1 -1 1 1 -1 -1 -1
এখানে একই পরীক্ষাগুলির ক্ষেত্রে L
'গুলি এবং R
' গুলি রয়েছে।
True
মামলা:
RRRR
LLLL
RLRLRL
RRLLRRLL
LRRLLRRL
RRRLLLLR
RLLRLL
RRRRLLLLRLLRLL
LLLRLLRRLRLRRRRRRRRRRRRRRRRR
False
মামলা:
R
RR
RRR
LR
RLLLR
RLLRR
LRLR
RRRRL
LLRLRLLR
RLRRRRLLLRRLLL
অতিরিক্ত creditণের চ্যালেঞ্জ
একই জিনিস, তবে একটি ঘনক্ষেত্রের পরিবর্তে ডোডেকহেড্রন সহ । ধারণাগুলির জন্য হান্ট দ্য উইম্পাস দেখুন ।