3x3 সংযুক্ত উপাদান


9

চ্যালেঞ্জ

নিম্নলিখিত ASCII গ্রাফিকের হিসাবে দেখানো হয়েছে, 3x3 কিং গ্রিড বিবেচনা করুন:

A--B--C
|\/|\/|
|/\|/\|
D--E--F
|\/|\/|
|/\|/\|
G--H--I

আপনাকে ইনপুট হিসাবে পূর্ণসংখ্যার দৈর্ঘ্য -9 তালিকা দেওয়া হবে যা নোডগুলির একটি লেবেলিং উপস্থাপন করে। উদাহরণস্বরূপ, ইনপুটটি [0,1,1,2,1,0,5,5,1]নিম্নলিখিত লেবেলগুলিকে উপস্থাপন করে:

0--1--1
|\/|\/|
|/\|/\|
2--1--0
|\/|\/|
|/\|/\|
5--5--1

আপনার আউটপুটটি ইনপুটটির পূর্ণসংখ্যার সেট যা নোডের সংযুক্ত সেট তৈরি করে। আরও স্পষ্টতই, আউটপুটটিতে nইনপুট থেকে একটি পূর্ণসংখ্যা থাকা উচিত এবং কেবল যদি লেবেলযুক্ত নোডের সেট nসংযুক্ত থাকে। এই উদাহরণে, একটি গ্রহণযোগ্য আউটপুট হবে [1,2,5], যেহেতু দুটি 0গুলি সংযুক্ত নয়। সর্বনিম্ন বাইট গণনা জিতেছে।

বিস্তারিত বিধি

  • আপনি আপনার ইনপুট তালিকার নোডগুলির জন্য একটি স্থির ক্রম চয়ন করতে পারেন এবং আপনার উত্তরে এটি বিবরণ দেওয়া উচিত। EFBDHCAGI আদেশে, উপরের লেবেল হিসাবে দেওয়া হবে [1,0,1,2,5,1,0,5,1]
  • আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। পরবর্তী ক্ষেত্রে, আউটপুটটি পূর্ণসংখ্যার একটি সেট হতে পারে যদি আপনার ভাষা সেগুলি সমর্থন করে।
  • আউটপুট তালিকায় নকল থাকতে পারে তবে এর দৈর্ঘ্য 9 টির বেশি হবে না।
  • স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়।

পরীক্ষার মামলা

এগুলির একক-সংখ্যা সংখ্যা গ্রিডের সাথে সংযুক্ত থাকে; এগুলি আপনার নির্বাচিত ক্রমের সাথে সামঞ্জস্য করুন।

011
210 => 1 2 5
551

010
202 => 0 2
221

110
123 => 0 2 3
221

111
111 => 1
111

111
141 => 1 4
111

উত্তর:


4

জে, 54 বাইট

#~3 :'0<*/,+/ .*/^:8~y#|:y#,/,"1/({0&,:)3 3$#:13'"1@e.

ক্রমের তালিকায় একটি ক্রিয়া ABCDEFGHI


একটি সন্নিহিত অবস্থা ম্যাট্রিক্স দেওয়া একটি আদেশের একটি গ্রাফ এন , গ্রাফ সংযুক্ত করা হয় যদি এবং কেবল যদি এর (সমস্ত এন্ট্রি একটি + + আমি ) এন অশূন্য, কোথায় আছেন তা আমি হয় এন × এন পরিচয় ম্যাট্রিক্স।

আমরা 3 × 3 কিং গ্রিডের (ক্রম অনুসারে) (স্থির) সংলগ্ন-যোগ-পরিচয় ম্যাট্রিক্স দিয়ে শুরু করি ABCDEFGHI:

1 1 0 1 1 0 0 0 0
1 1 1 1 1 1 0 0 0
0 1 1 0 1 1 0 0 0
1 1 0 1 1 0 1 1 0
1 1 1 1 1 1 1 1 1
0 1 1 0 1 1 0 1 1
0 0 0 1 1 0 1 1 0
0 0 0 1 1 1 1 1 1
0 0 0 0 1 1 0 1 1

। প্রতিটি লেবেলের জন্য l, আমরা সারণী এবং কলামগুলি লেবেলের নোডগুলির সাথে সম্পর্কিত নির্বাচন করি l। এটি আমাদের উপগ্রহের সংলগ্ন-যোগ-পরিচয় ম্যাট্রিক্স দেয় givesl লেবেলযুক্ত নোডের । উপরে বর্ণিত অনুসারে আমরা সাবট্রা সংযুক্ত থাকলে তা পরীক্ষা করতে এই ম্যাট্রিক্সটি ব্যবহার করি।

আমরা উপরের ম্যাট্রিক্সটি নির্মাণ করে যদি তা আমরা উল্লেখ করি

    0 0 0
Z = 0 0 0
    0 0 0

এবং

    1 1 0
O = 1 1 1
    0 1 1

, তারপরে ম্যাট্রিক্সকে 3 × 3 ব্লক ম্যাট্রিক্স হিসাবে দেখা যেতে পারে

O O Z
O O O
Z O O

, যা একই প্যাটার্ন আছে O! 3 × 3 ব্লকে Oপ্যাটার্নটি পুনরাবৃত্তি করে উত্পাদিত হয় 1 1 0 1


এটি একটি আশ্চর্যজনক সমাধান! অন্ধকারে, সংলগ্ন ম্যাট্রিকগুলি সম্ভবত এটি করার সবচেয়ে সংক্ষিপ্ততম উপায়, বিশেষত জে এর মতো একটি ভাষা নিয়ে
Zgarb

3

সিজেম, 56 67 বাইট

q~4/~\@{a1$2<-\(+}%)_)-{_(+{\(a@-\}}A?%+:+[$_(d+1$)c\+@]zLf|2f>:+|`

ক্রম: CIGABFHDE

উদাহরণ ইনপুট:

[1 1 5 0 1 0 5 2 1]

আউটপুট:

[1 2 5]

এটি প্রথমে কোণগুলির সংখ্যাগুলি সরিয়ে দেয় যা পাশের সংযুক্ত সংখ্যার সমান। তারপরে এটি পাশের সংখ্যাগুলি সরিয়ে দেয় যা পরবর্তী দিকের সংখ্যার সমান। অবশেষে এটি দুটি বা তার বেশি বার সংঘটিত সমস্ত সংখ্যাগুলি সরিয়ে দেয় এবং কেন্দ্র নম্বর যুক্ত করে।


2

সিজেম, 90 বাইট

এটি এখানে বর্ণিত একটি পুনরাবৃত্ত বন্যার ফিলের উপর ভিত্তি করে তৈরি হয়েছে এবং এটি প্রচুর গল্ফ করা যেতে পারে!

q~:Q{:IQ3/S*Sca5*+:T;G,G*{:AT=1$={[WXZ5 4_~_)_)]Af+Tf=AT='#a+&,g{TA'#t:T;}*}*}%;aT\/,3<},p

ABCDEFGHপছন্দ মতো ইনপুট প্রয়োজন :

[0 1 1 2 1 0 5 5 1]

এবং আউটপুট হল সংযুক্ত নোড:

[1 1 2 1 5 5 1]

সংক্ষিপ্ত বর্ণনা

  • প্রথমত, আমি প্রতিটি লেবেলের ইনপুট অ্যারের মাধ্যমে পুনরাবৃত্তি করি।
  • প্রতিটি পুনরাবৃত্তিতে আমি সংযোগ বিচ্ছিন্ন নোডগুলি বের করতে প্লাবনফিল সম্পাদন করি।
  • যদি সংযোগ বিচ্ছিন্ন নোডের সংখ্যা 1 এর চেয়ে বেশি হয়, তবে সেই লেবেলটি সংযোগ বিচ্ছিন্ন।
    • 1 কারণ ইনপুট অ্যারেতেও একটি লেবেলের মাত্র 1 উপস্থিতি থাকতে পারে।
  • তারপরে আমি কেবল সংযোগ বিচ্ছিন্ন লেবেলগুলি ফিল্টার আউট করে এবং অ্যারের মুদ্রণ করি।

অনুসরণ করতে সম্পূর্ণ ব্যাখ্যা

এটি এখানে অনলাইনে চেষ্টা করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.