আমি সম্প্রতি ' দ্য ওয়েভার'-এর মধ্য দিয়ে খেলছি এবং আমি মনে করি এটি কোড-গল্ফের জন্য একটি আকর্ষণীয় চ্যালেঞ্জ উপস্থাপন করে ।
চত্বর:
ওয়েভার এমন একটি গেম যেখানে আপনাকে 2 দিক থেকে 90 ডিগ্রি দূরে অনেকগুলি ফিতা দেওয়া হয় এবং একটি লক্ষ্য পছন্দসই আউটপুট অর্জনের জন্য নির্দিষ্ট মোড়ে সেগুলি অদলবদল করা আপনার লক্ষ্য।
এটির মতো: এটি একটি অদলবদল: এটি নয়:
ইনপুট:
3 অ্যারে:
- শীর্ষ ফিতা (বাম থেকে ডান)
- বাম ফিতা (উপরে থেকে নীচে)
- চৌরাস্তাগুলির স্থানাঙ্কগুলি অদলবদল করতে
আউটপুট:
2 অ্যারে:
- নীচে ফিতা (বাম থেকে ডান)
- ডান ফিতা (উপরে থেকে নীচে)
উদাহরণ:
আমি উপরের চিত্রটি প্রথম উদাহরণ হিসাবে ব্যবহার করব:
ইনপুট: [r, y, b], [r, y, b], [(0, 1), (2, 1), (2, 2)]
কি ঘটেছে:
r y b
r y b
r r r r•y y y y
r r b
y y y y y y y y
r r b
b b b b•r r•b b
r b r
r b r
যেখানে •
অদলবদল প্রতিনিধিত্ব করে।
আউটপুট: [r, b, r], [y, y, b]
ইনপুট: [a, b, c], [d, e, f], [(0, 0), (2, 1)]
কি ঘটেছে:
a b c
a b c
d d•a a a a a a
d b c
e e e e e e e e
d b c
f f f f•b b b b
d f c
d f c
আউটপুট: [d, f, c], [a, e, b]
ইনপুট: [a, b], [a, b, c], [(0, 1), (1, 0), (1, 1), (2, 0), (2, 1), (3, 1)]
কি ঘটেছে:
a b
a b
a a a a•b b
a a
b b•a a•a a
b a
c c•b b•a a
c b
c b
আউটপুট: [c, b], [b, a, a]
মন্তব্য:
- উদাহরণগুলি প্রদত্ত স্থানাঙ্কগুলি দেখায়
(row, column)
যেন আপনি সেগুলি গ্রহণ করতে পারেন(column, row)
। - উপরের সারি এবং বাম কলামে একই রঙের ফিতা থাকতে পারে
- বোর্ডটি আয়তক্ষেত্রাকার হতে পারে
- সমস্ত স্থানাঙ্কগুলি অ-নেতিবাচক (
>=0
) বা কঠোরভাবে ইতিবাচক (>=1
) যদি আপনি 1-ইনডেক্সিং চয়ন করেন) - বোর্ডের বাইরে থাকা কোনও অদলবদল উপেক্ষা করুন
- আপনি অক্ষর (
[a-zA-Z]
), পূর্ণসংখ্যা ([0-9]
) বা উভয় দিয়ে কাজ করতে বেছে নিতে পারেন - আপনার আউটপুটে ফিতাগুলি অবশ্যই ইনপুটটিতে ফিতাগুলির সাথে মিলবে (
a -> a
) - আপনি ধরে নিতে পারেন যে অদলবদলের তালিকাটি আপনি যেভাবে চান বাছাই করা হয়েছে, যতক্ষণ না এটি সামঞ্জস্যপূর্ণ হয় (যদি আপনি এটি করেন তবে দয়া করে এটি কীভাবে বাছাই করা উচিত তা নির্দিষ্ট করুন)
- আপনি অদলবদ সমন্বয়গুলি 0 বা 1-ইনডেক্সড হিসাবে নিতে পারেন
- ডিফল্ট লুফোলগুলি নিষিদ্ধ
আরও উদাহরণ:
Input:
[b], [r], []
Output:
[b], [r]
Input:
[b], [r], [(0, 0)]
Output:
[r], [b]
Input:
[r, p, y], [r, y, p], [(0, 0), (1, 2), (2, 1), (3, 2)]
Output:
[r, p, y], [r, y, p]
Input:
[b, y, o, r],
[r, o, b, y],
[(0, 0), (2, 0), (3, 2)]
Output:
[b, y, y, r],
[b, o, r, o]
শেষ উদাহরণটি এই মামলার সাথে সম্পর্কিত (যদি এটি ভিজ্যুয়ালাইজ করা সহজ করে):
এটি কোড-গল্ফ তাই প্রতিটি ভাষার জন্য বাইটের মধ্যে সংক্ষিপ্ত উত্তর।