প্রতিটি প্রোগ্রামার জানে যে আয়তক্ষেত্রগুলি □
সত্যই মজাদার। এই মজা বাড়িয়ে তোলার জন্য, এই সুন্দর এবং अस्पष्ट চিত্রগুলি আন্তঃ বোনা বন্ধনীগুলির দলে রূপান্তরিত হতে পারে।
এই চ্যালেঞ্জটি আমার আগেরটির বিপরীত ।
ধরা যাক আপনার মতো ইন্টারলকিং আয়তক্ষেত্রগুলির একটি গ্রুপ রয়েছে:
+------------+
| |
+--+-+ +----+-+
| | | | | |
| | | +---+--+ | |
| | | | | | | |
+--+-+ | +-+--+-+-+-+
| | | | | | | |
| | | | | | | |
| | | | | | | | +-+
| +-+-+--+ | | | | |
| | | | | | +-+-+-+
+-----+-+----+ | | | | | |
| | | | | +-+ |
| +------+ | | |
| | | |
+----------+ +-----+
অতিরিক্ত নোট:
- কোনও দু'জন
+
আর সংলগ্ন হবে না - কোনও দুটি আয়তক্ষেত্র কখনও প্রান্ত বা কোণ ভাগ করে নেবে না
- প্রতিটি কলামে কেবলমাত্র সর্বাধিক এক উল্লম্ব প্রান্ত থাকবে
প্রথম ধাপটি কোনও আয়তক্ষেত্রের বাম-সর্বাধিক প্রান্তটি দেখানো। এটিকে চারটি বন্ধনী ধরণের একটি নির্ধারণ করুন ({[<
। আমি পছন্দ করে [
।
+------------+
| |
[--+-] +----+-+
[ | ] | | |
[ | ] +---+--+ | |
[ | ] | | | | |
[--+-] | +-+--+-+-+-+
| | | | | | | |
| | | | | | | |
| | | | | | | | +-+
| +-+-+--+ | | | | |
| | | | | | +-+-+-+
+-----+-+----+ | | | | | |
| | | | | +-+ |
| +------+ | | |
| | | |
+----------+ +-----+
এখন দ্বিতীয় বাম দিকের আয়তক্ষেত্রটি দেখুন। যেহেতু এটি একটি [
আয়তক্ষেত্রকে ওভারল্যাপ করে তাই এটি অবশ্যই অন্য ধরণের হতে হবে। আমি পছন্দ করে (
।
(------------)
( )
[--(-] +----)-+
[ ( ] | ) |
[ ( ] +---+--+ ) |
[ ( ] | | | ) |
[--(-] | +-+--+-)-+-+
( | | | | ) | |
( | | | | ) | |
( | | | | ) | | +-+
( +-+-+--+ ) | | | |
( | | ) | | +-+-+-+
(-----+-+----) | | | | | |
| | | | | +-+ |
| +------+ | | |
| | | |
+----------+ +-----+
পরবর্তী বাম-সর্বাধিক আয়তক্ষেত্রটি কোনও পূর্ববর্তী আয়তক্ষেত্রের সাথে ছেদ করে না তবে পূর্ববর্তী মধ্যে বাসা বাঁধে। আমি (
আবার এটি বরাদ্দ করা চয়ন । সাধারণত যদি আয়তক্ষেত্রটি নীচে বাসা বাঁধছে তবে একই ধরণের আয়তক্ষেত্রটি একইভাবে নির্ধারণ করা ভাল তবে অনুভূত হয় যে কখনও কখনও ব্যাকট্র্যাকিংয়ের প্রয়োজন হয়।
(------------)
( )
[--(-] +----)-+
[ ( ] | ) |
[ ( ] (---+--) ) |
[ ( ] ( | ) ) |
[--(-] ( +-+--)-)-+-+
( ( | | ) ) | |
( ( | | ) ) | |
( ( | | ) ) | | +-+
( (-+-+--) ) | | | |
( | | ) | | +-+-+-+
(-----+-+----) | | | | | |
| | | | | +-+ |
| +------+ | | |
| | | |
+----------+ +-----+
এই পরবর্তী আয়তক্ষেত্রটি [
আবার বরাদ্দ করা যেতে পারে ।
(------------)
( )
[--(-] +----)-+
[ ( ] | ) |
[ ( ] (---+--) ) |
[ ( ] ( | ) ) |
[--(-] ( [-+--)-)-+-]
( ( [ | ) ) | ]
( ( [ | ) ) | ]
( ( [ | ) ) | ] +-+
( (-[-+--) ) | ] | |
( [ | ) | ] +-+-+-+
(-----[-+----) | ] | | | |
[ | | ] | +-+ |
[ +------+ ] | |
[ ] | |
[----------] +-----+
এই পরবর্তী আয়তক্ষেত্র মজাদার। এটি একটি (
এবং একটি [
আয়তক্ষেত্র উভয়কে ছেদ করে , তাই আমি এটিকে একটি {
আয়তক্ষেত্র বলতে পারি (বা <
তবে কেউ সেগুলি পছন্দ করে না)।
(------------)
( )
[--(-] {----)-}
[ ( ] { ) }
[ ( ] (---{--) ) }
[ ( ] ( { ) ) }
[--(-] ( [-{--)-)-}-]
( ( [ { ) ) } ]
( ( [ { ) ) } ]
( ( [ { ) ) } ] +-+
( (-[-{--) ) } ] | |
( [ { ) } ] +-+-+-+
(-----[-{----) } ] | | | |
[ { } ] | +-+ |
[ {------} ] | |
[ ] | |
[----------] +-----+
শেষ দুটি আয়তক্ষেত্র খুব খারাপ নয় n't এগুলি যে কোনও দুটি ভিন্ন ধরণের হতে পারে।
(------------)
( )
[--(-] {----)-}
[ ( ] { ) }
[ ( ] (---{--) ) }
[ ( ] ( { ) ) }
[--(-] ( [-{--)-)-}-]
( ( [ { ) ) } ]
( ( [ { ) ) } ]
( ( [ { ) ) } ] {-}
( (-[-{--) ) } ] { }
( [ { ) } ] <-{-}->
(-----[-{----) } ] < { } >
[ { } ] < {-} >
[ {------} ] < >
[ ] < >
[----------] <----->
আয়তক্ষেত্রগুলি পড়া, আমি পেয়েছি [(]([{))}]<{}>
। উপরের ইনপুটটির জন্য এটি একটি সম্ভাব্য আউটপুট হবে। এখানে অনেকগুলি সম্ভাব্য বিকল্পের তালিকা রয়েছে, সম্পূর্ণ নয়:
[(]([{))}]<{}>
<(>(<{))}>{()}
{<}[{(]>)}[<>]
any of the 4! permutations of ([{<, you get the idea...
ইনপুট
এএসসিআইআই-আর্ট আয়তক্ষেত্রগুলি অনুমান করে যে এগুলি দ্ব্যর্থহীন (উপরের নোটগুলি দেখুন) এবং সঠিকভাবে বন্ধনীগুলির স্ট্রিংয়ে রূপান্তরিত হতে পারে। Eitherচ্ছিক ট্রেলিং নিউলাইন সহ আপনি কোনও পিছনে স্থান বা কোনও আয়তক্ষেত্রে প্যাডড ধরে নিতে পারেন। কোনও শীর্ষস্থানীয় সাদা স্থান থাকবে না।
আউটপুট
যে কোনও বৈধ বন্ধনী স্ট্রিং যা আয়তক্ষেত্রের ছেদবদ্ধতার সীমাবদ্ধতা মেনে চলে। Alচ্ছিক ট্রেলিং নিউলাইন ছাড়াও, বন্ধনী ছাড়া অন্য কোনও অক্ষর থাকতে হবে না। প্রধান নিয়মটি হ'ল, যদি দুটি স্কোয়ার ছেদ করে তবে তাদের বিভিন্ন ব্রাকেট ধরণের দেওয়া উচিত।
লক্ষ্য
এটি কোড-গল্ফ, মানের তুলনায় (অভাব) পরিমাণ।
+
উপরের-বাম কোণার জন্য একটি থাকতে পারে না এবং তারপরে +
নীচে-বাম কোণার জন্য (অবিলম্বে নীচে) ?