ভূমিকা
ধাঁধা বিধি:
বাইনারি ( টাকুজু বা সুবিকু নামে পরিচিত ) ধাঁধাটি বোঝার জন্য খুব সহজ, এবং এর কয়েকটি কয়েকটি বিধি রয়েছে:
যেহেতু গেমটির নাম বাইনারি এটি বেশ সুস্পষ্ট, তবে আপনি কেবল শূন্য এবং এটি পূরণ করতে পারেন।
- একই অঙ্কের দুটির বেশি আর কোনও একে অপরের সাথে উল্লম্ব বা অনুভূমিকভাবে সংলগ্ন হতে পারে না
- প্রতিটি সারি এবং প্রতিটি কলামে অবশ্যই সমান পরিমাণ শূন্য এবং সেগুলি থাকতে হবে (এর অর্থ স্পষ্টভাবে বোঝানো হয় যে প্রতিটি বাইনারি গেমটি সর্বদা এমনকি মাত্রাও রাখে)।
- কোনও সদৃশ সারি এবং কোনও সদৃশ কলাম (জিরো এবং একই ঠিক একই ক্রম সহ) থাকতে পারে।
আপনি চাইলে www.binarypਜਨ . com এ গেমটি খেলতে পারেন।
কৌশল:
নিয়ম 1 এর কারণে আমরা সর্বদা একটি অঙ্ক পূরণ করতে পারি যদি:
- ইতিমধ্যে একে অপরের সাথে উল্লম্বভাবে বা অনুভূমিকভাবে সংযুক্ত দুটি একই অঙ্ক রয়েছে, সেক্ষেত্রে আমরা উভয় পক্ষের বিপরীত অঙ্ক পূরণ করতে পারি। অর্থাৎ .11...
→ 0110..
।
- উলম্ব বা অনুভূমিকভাবে একই অঙ্কের দুটি রয়েছে যার মধ্যে একটি মাত্র ফাঁক রয়েছে। অর্থাৎ .1.1..
→.101..
নিয়ম 1 এর কারণে, যখন তিনটি ফাঁক ছেড়ে যায় এবং আমাদের একই অঙ্কের তিনটি সংলগ্ন না থাকতে পারে, তখন আমরা শূন্যস্থানগুলির একটি পূরণ করতে পারি। আই .0.1.0
→ 10.1.0
(আমাদের এখনও দুটি পূরণ করতে হবে, এবং আমাদের মাঝখানে তিনটি সংলগ্ন স্থান থাকতে পারে না, তাই প্রথম ফাঁকটি একটি হতে হবে 1
))
বিধি 2 এর কারণে, আমরা সর্বদা বাকী ফাঁকগুলি একটি সারিতে বা কলামে পূরণ করতে পারি যদি এর অর্ধেক ইতিমধ্যে বিপরীত অঙ্ক দিয়ে পূর্ণ হয়। অর্থাৎ .1.011
→010011
বিধি 3 এর কারণে আমরা সর্বদা বিপরীত সংখ্যাগুলি পূরণ করতে পারি যদি একইভাবে আদেশ করা লাইনে কেবল দু'টি সমাধান করা যায়। অর্থাৎ 101100 & 1..100
→101100 & 110100
বিধি 3 এর কারণে আমরা মাঝে মাঝে শূন্যস্থান পূরণ করতে পারি যখন তিনটি ফাঁক সমানভাবে অর্ডার করা লাইনে ছেড়ে যায়। অর্থাত 010011 & .1.01.
→ 010011 & .1.010
(এখানে আমরা একটি পূরণ করতে পারেন না 1
শেষে, কারণ যে অর্থ হবে আমরা অন্য দুটি ফাঁক এ শূন্য পূরণ করতে হবে, উপার্জন উভয় লাইন অনুক্রমে সমান।)
উদাহরণ:
আমরা কিছু 6 টি এবং পূর্ণ শূন্যগুলি সহ নিম্নলিখিত 6x6 গ্রিড দিয়ে শুরু করি (এবং বিন্দুগুলি শূন্যস্থানগুলি এখনও আমাদের পূরণ করতে পারে না):
.1....
.10.0.
1.11..
.1....
...1.0
......
নিয়ম 1 এবং 2 এর কারণে আমরা এই সংখ্যাগুলি পূরণ করতে পারি:
.1.01.
.1010.
101100
010011
.0.1.0
.010..
নিয়ম 1 এর কারণে আমরা সারিতে 5, কলাম 1 এ একটি 1 পূরণ করতে পারি:
.1.01.
.1010.
101100
010011
10.1.0
.010..
বিধি 3 এর কারণে আমরা সারি 1, কলাম 6 এ 0 টি পূরণ করতে পারি (যখন সারি 4 দেখুন):
.1.010
.1010.
101100
010011
10.1.0
.010..
বিধি 1 এবং 2 এর কারণে এখন আমরা অঙ্কগুলি দিয়ে শূন্যস্থান পূরণ করতে পারি:
.1.010
010101
101100
010011
10.1.0
.010.1
3 রুলের কারণে এখন আমরা সারি 5 টি শেষ করতে পারি (যখন সারির 3 টি দেখুন):
.1.010
010101
101100
010011
100110
.010.1
এবং তারপরে আমরা নিয়ম 1 এবং 2 এর কারণে ধাঁধাটি শেষ করতে পারি:
011010
010101
101100
010011
100110
101001
চ্যালেঞ্জ:
চ্যালেঞ্জটি সহজভাবে: প্রারম্ভিক গ্রিড দেওয়া, সমাধান ধাঁধা আউটপুট।
দ্রষ্টব্য: আপনাকে উপরের নিয়মগুলি প্রয়োগ করতে হবে না। আপনি অবশ্যই করতে পারেন, এবং এটি আপনাকে কীভাবে এই চ্যালেঞ্জটি বাস্তবায়িত করতে হবে সে সম্পর্কে ইঙ্গিত দেওয়া উচিত, তবে নিয়মগুলি মাথায় রেখে সমাধানটিকে গুরুতর করা পুরোপুরি ঠিক।
আপনি কীভাবে এটি সমাধান করবেন তা আপনার উপর নির্ভর করে তবে সমাধান হওয়া ধাঁধাটি আউটপুট করা চ্যালেঞ্জ।
চ্যালেঞ্জ নিয়ম:
- গ্রিডের জন্য ইনপুট এবং আউটপুট ফর্ম্যাটটি নমনীয় তবে দয়া করে আপনি কী ব্যবহার করবেন তা জানান। (অর্থাত 2D বাইট-অ্যারে; নতুন লাইনের সাথে স্ট্রিং; ইত্যাদি)
- এটি উপরে বর্ণিত অক্ষরের ক্ষেত্রেও প্রযোজ্য। উদাহরণ হিসাবে আমি ব্যবহার করেছি
01.
, তবে আপনি চাইলেABx
পরিবর্তে ব্যবহার করতে পারেন । আপনি কি ইনপুট / আউটপুট ফর্ম্যাট এবং অক্ষর ব্যবহার করেছেন তা দয়া করে বলুন। - আপনি শুধুমাত্র নিম্নলিখিত গ্রিড মাপ ব্যবহার করা হবে অনুমান করতে পারেন:
6x6
;8x8
;10x10
;12x12
;14x14
;16x16
।
সপ্তাহের দিন:
- এটি কোড-গল্ফ , তাই বাইট জেতে সংক্ষিপ্ত উত্তর।
কোড-গল্ফ ভাষাগুলি আপনাকে নন-কোডগলফিং ভাষার সাথে উত্তর পোস্ট করতে নিরুৎসাহিত করবেন না। 'যে কোনও' প্রোগ্রামিং ভাষার জন্য যতটা সম্ভব সংক্ষিপ্ত উত্তর নিয়ে আসার চেষ্টা করুন। - স্ট্যান্ডার্ড নিয়মগুলি আপনার উত্তরের জন্য প্রযোজ্য , সুতরাং আপনাকে সঠিক পরামিতিগুলি, সম্পূর্ণ প্রোগ্রামগুলির সাথে STDIN / STDOUT, ফাংশন / পদ্ধতি ব্যবহারের অনুমতি দেওয়া হবে। আপনার কল
- ডিফল্ট লুফোলগুলি নিষিদ্ধ।
- যদি সম্ভব হয় তবে আপনার কোডের জন্য একটি পরীক্ষার সাথে একটি লিঙ্ক যুক্ত করুন।
- এছাড়াও, প্রয়োজনে একটি ব্যাখ্যা যোগ করুন।
পরীক্ষার কেস:
বিন্দুগুলি কেবল পঠনযোগ্যতার জন্য যুক্ত করা হয়, শূন্যস্থানগুলির পরিবর্তে ফাঁকা স্থান বা অন্য কোনও কিছু ব্যবহার করতে নির্দ্বিধায় মনে করুন। ইন এবং আউটপুট উভয় বিন্যাস নমনীয়।
Input:
1..0..
..00.1
.00..1
......
00.1..
.1..00
Output:
101010
010011
100101
011010
001101
110100
Input:
.1....
.10.0.
1.11..
.1....
...1.0
......
Output:
011010
010101
101100
010011
100110
101001
Input:
.......1..
.00..0..1.
.0..1..0.0
..1...1...
1.1......1
.......1..
.0..1...0.
....11...0
.0.0..1..0
0...0...1.
Output:
0110010101
1001100110
1001101010
0110011001
1010100101
0101010110
1001101001
0110110100
1010011010
0101001011