সুইচগুলি ফ্লিপ করুন


17

একটি অন্ধকার ঘরে ঘুম থেকে ওঠার পরে, আপনি একই স্যুইচ সহ লাইটের একটি আয়তক্ষেত্রাকার গ্রিড দেখতে পাবেন। আপনি নীচে বাম আলোকে প্রতিনিধিত্ব করে (1,1) এবং স্থানাঙ্কগুলি বর্ধমান (y দিক) এবং ডানদিকে (এক্স দিক) বাড়ানোর সাথে সমন্বয় ব্যবস্থা ব্যবহার করার সিদ্ধান্ত নিয়েছেন। গ্রিডগুলি একই রকম হয় যা (ক, খ) টগলস এ সুইচটি উল্টিয়ে দেয় (আলোর উপর থেকে অন বা অন টান) আলোর (ক, খ) পাশাপাশি একই কলামে বা একই সারিতে থাকা লাইটগুলি ( A, b)।

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

আউটপুট একই গ্রিড হবে, প্রতিটি ইনপুট হিসাবে দেওয়া স্থানাঙ্ক জোড়াগুলিতে "ফ্লিপ" প্রয়োগ করা হবে। আপনি কীভাবে আপনার ইনপুট ফর্ম্যাট করবেন তা চয়ন করতে পারেন, যদিও আউটপুট অবশ্যই গ্রিড হওয়া উচিত, অ্যারে নয়।


নমুনা

নমুনা ইনপুট 1

111111
111111
111111
111111

(3,2)

নমুনা আউটপুট 1

110111
110111
000000
110111

নমুনা ইনপুট 2

01101
10100
00010
11111
10110

(1,1), (5,5)

নমুনা আউটপুট 2

00010
00101
10011
01110
01000

নমুনা ইনপুট 3

1

(1,1)

নমুনা আউটপুট 3

0

নমুনা ইনপুট 4

00000
11111
00000
11111

(2,3), (2,3)

নমুনা আউটপুট 4

00000
11111
00000
11111

এটি কোড গল্ফ। স্ট্যান্ডার্ড বিধি প্রয়োগ। বাইটস মধ্যে সংক্ষিপ্ত কোড।


সম্পর্কিত: কোডগল্ফ.স্ট্যাকেক্সেঞ্জারওয়েজ / সেকশনস / 65738 / crack-the-safe । যদিও একই সমস্যা নয়। অন্যান্য চ্যালেঞ্জের লক্ষ্যটি ছিল কোনটি চলবে তা সন্ধান করা, এটি একটি প্রদত্ত তালিকার তালিকা প্রয়োগ করার বিষয়ে applying
রেটো কোরাডি

@RetoKoradi এটি নয় বেশ একই অপারেশন। (নির্বাচিত ঘরটি নিজেও টগল হওয়া এই বিষয়টি এটিকে উল্লেখযোগ্যভাবে আরও জটিল করে তুলেছে))
মার্টিন এন্ডার

আমি কি ইনপুটটি অনুরোধ করতে পারি <grid><RETURN><coordinate_x><RETURN><coordinate_y><RETURN>?
বিড়াল

যে কোনও বিন্যাস এবং বিভাজন : এর অর্থ কি এগুলি পৃথক ইনপুট হতে পারে (যা, "বিভাজক" "enter" কী)?
লুইস মেন্ডো

@ লুইসমেডো হ্যাঁ, যদি এটি কাজ করে।
EEEEEEidan

উত্তর:


3

সিজেম, 37 36 বাইট

qN/W%(~{1$::!\{1a\Te[f.|z}/..^}/W%N*

ইনপুটটিতে প্রথমে গ্রিড থাকা উচিত, যে কোনও দুটি নন-নুল অক্ষর ব্যবহার করে যা কেবলমাত্র শেষ বিট (তাই 0এবং 1কাজ) এর মধ্যে পৃথক হয় , তারপরে স্থানাঙ্ক জোড়াগুলির সিজাম-শৈলীর তালিকা অনুসরণ করে।

01101
10100
00010
11111
10110
[[1 1] [5 5]]

এটি এখানে পরীক্ষা করুন।


3

ডায়ালগ এপিএল, 20 বাইট

{⍵≠⊃⊃≠/∘.∨/¨⍺=⊂⍳¨⍴⍵}

এটি একটি ডায়াডিক ফাংশন যা ডানদিকে প্রাথমিক গ্রিড এবং বাম দিকে স্থানাঙ্কগুলির তালিকা গ্রহণ করে।

একটি একক স্থানাঙ্ক যুগল ইনপুট করতে, যেমন (⊂2 3)বাম আর্গুমেন্ট হিসাবে ব্যবহার করুন ।

এখানে চেষ্টা করুন


1

এমএটিএল , 39 বাইট

i,-1H$X!tyZ}:XJx:!XIxi"I@1)=J@2)=|+]2\X!

ইনপুট নিম্নলিখিত ফর্মের (উদাহরণটি চ্যালেঞ্জের নমুনা ইনপুট 2 এর সাথে মিলে যায়):

[0 1 1 0 1; 1 0 1 0 0; 0 0 0 1 0; 1 1 1 1 1; 1 0 1 1 0]  
[1 5; 1 5]

প্রথম ইনপুট একটি ম্যাট্রিক্স এর গ্রিড সংজ্ঞা হয় 0এবং 1;সারি বিভাজক। দ্বিতীয় ইনপুট হ'ল স্থানাঙ্ক জোড়াগুলির একটি ম্যাট্রিক্স, যেখানে প্রতিটি কলাম একটি জোড়া।

উদাহরণ

>> matl i1_2$X!tyZ}:XJx:!XIxi"I@1)=J@2)=|+]2\X!
> [0 1 1 0 1; 1 0 1 0 0; 0 0 0 1 0; 1 1 1 1 1; 1 0 1 1 0]
> [1 5; 1 5]
0 0 0 1 0
0 0 1 0 1
1 0 0 1 1
0 1 1 1 0
0 1 0 0 0

ব্যাখ্যা

i,           % input matrix
-1H$X!       % rotate clockwise to accomodate input to matrix coordinates
tyZ}         % get numbers of rows (r) and of cols (c)
:XJx         % row vector 1,2,,...,c. Copy to clipboard J and delete
:!XIx        % col vector 1,2,,...,r. Copy to clipboard I and delete
i            % input coordinates (matrix; each col is a coordinate)
"            % for each col of coordinate matrix
    I@1)=    % compare col vector of rows with row from coordinate
    J@2)=    % compare row vector of cols with col from coordinate
    |        % "or" with singleton expansion to generate mask
    +        % add that to matrix of values
]            % end for
2\           % modulo 2 to transform result into zeros and ones
X!           % undo rotation

ম্যাটলের জন্য কোনও অনলাইন সংকলক উপলব্ধ থাকলে দয়া করে আমাকে জানান
Abr001am

এখনও অনলাইনে নেই, দুঃখিত। আমি কেবল মতলব-ভিত্তিক যাকে শিরোনামে সংযুক্ত করেছি
লুইস মেন্ডো

0

রুবি 114 বাইট

ইনপুট হিসাবে গ্রহণ করে:

g, প্রারম্ভিক গ্রিড উপস্থাপন করে এমন অ্যারের অ্যারে

o, পয়েন্ট একটি অ্যারের, প্রতিটি পয়েন্ট দুই উপাদানের সঙ্গে একটি অ্যারের মত হচ্ছে [x, y]

->g,o{o.map{|i|(r=g[i[1]-1])[e=(i[0]-1)]-=1;r.map!{|j|j+1};g.map{|x|x[e]+=1}};puts g.map{|i|i.map{|j|j%2}.join""}}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.