এই চ্যালেঞ্জ দ্বারা অনুপ্রাণিত ।
গোল:
প্রাক-কনফিগার করা সুইচবোর্ড এবং সূচকের তালিকা দেওয়া, প্রদত্ত সূচকে স্যুইচগুলি উল্টে দিন।
একটি স্যুইচবোর্ড বেশ কয়েকটি সংখ্যক স্যুইচ ( v
বা ^
) এর মধ্যে জড়ানো এবং -
বিভিন্ন দৈর্ঘ্যের সারিগুলিতে সজ্জিত। এখানে একটি উদাহরণ সুইচবোর্ড:
-v-^-v-
-^-v-
-v-^-v-
বিপরীতমুখী করতে / একটি সুইচ অর্থ ব্যয় এটিকে পরিবর্তন করা টুসকি v
করতে ^
, বা থেকে ^
থেকে v
।
স্যুইচগুলি বাম থেকে ডান, উপরে থেকে নীচে সূচিযুক্ত হয়। উদাহরণস্বরূপ, উপরের উদাহরণে, v
প্রথম সারির শেষটি 3 অবস্থানে থাকবে এবং ^
মধ্যবর্তী সারিতে 4 হবে (1-সূচক ব্যবহার করে)।
ইনপুট:
- একটি স্ট্রিং (বা স্ট্রিংগুলির তালিকা) যা স্যুইচবোর্ডকে উপস্থাপন করে। এটি রিজেক্সের সাথে মিলে যাওয়ার গ্যারান্টিযুক্ত
((-[v^])+-)(\n(-[v^])+-)*
। - সূচকের প্রতিনিধিত্বকারী সংখ্যার একটি সম্ভবত শূন্য তালিকার তালিকাটি 0 বা 1 হতে পারে (বা কিছু স্বেচ্ছাচারী সংখ্যা চাইলে) সূচিকৃত হতে পারে। এগুলি স্যুইচগুলি ফ্লিপ করা দরকার।
আউটপুট:
- উল্লিখিত স্যুইচগুলি ইনপুট হিসাবে একই আকারে একটি সুইচবোর্ড। যে কোনও অনির্ধারিত সুইচগুলির তাদের প্রাথমিক অবস্থা বজায় রাখা উচিত।
নিয়মাবলী:
- ইনপুট সর্বদা সঠিকভাবে ফর্ম্যাট করা হবে এবং কোনও প্রদত্ত সূচক সীমার বাইরে থাকবে না।
- সূচকের তালিকা বাছাই করা হবে এবং কোনও সদৃশ থাকবে না।
- আপনি কী সূচকটি ব্যবহার করছেন তা আপনার উত্তরে বলুন, তা 0, 1 বা কিছু স্বেচ্ছাসেবী হোক।
- আউটপুটটি ইনপুটটির মতো দেখায় ততক্ষণ হোয়াইটস্পেসটি ঠিক আছে।
- এটি কোড-গল্ফ তাই সংক্ষিপ্ততম কোডের জয়।
উদাহরণ:
#Using 1-indexing
input: #Empty Case
[],
-v-^-v-
output:
-v-^-v-
input: #Single switch
[1],
-v-
output:
-^-
input: #Skip a line
[3,5],
-^-v-v-
-v-
-^-^-
output:
-^-v-^-
-v-
-v-^-
input: #Flip one in each line + number wrap
[3,4,6],
-^-v-v-
-v-
-^-^-
output:
-^-v-^-
-^-
-^-v-
input: #Flip 'em all
[1,2,3,4,5,6],
-^-v-v-
-v-
-^-^-
output:
-v-^-^-
-^-
-v-v-
>"-"
: যেহেতু ইনপুট স্ট্রিংটি শুরু হওয়ার গ্যারান্টিযুক্ত তাই আপনি -
তার পরিবর্তে প্যারামিটার / যুক্তি / ভেরিয়েবল নামের সাথে ব্যবহার করতে পারেন।