আমার নাম্বার প্রতিবেশী খুঁজুন


11

ইনপুট নিয়ে গঠিত আমি প্রতিবেশীদের তথ্য সমেত সারি। প্রতিটি আমি তম সারির প্রতিবেশী প্রতিনিধিত্বমূলক, 4 মান ধারণ করে আমি করতে উত্তর , পূর্ব , দক্ষিণপশ্চিম দিক যথাক্রমে। সুতরাং প্রতিটি মান 1 সারি থেকে শুরু করে i সারির প্রদত্ত দিকের প্রতিবেশীকে প্রতিনিধিত্ব করে এবং 65,535 সারি পর্যন্ত যেতে পারে। 0 মান দিক থেকে কোন প্রতিবেশী নির্দেশ করে।

উদাহরণস্বরূপ, যদি প্রথম সারি "0 2 3 10" এর মানে হল যে আমি প্রতিবেশী তিনটি প্রতিবেশীদের আছে: উত্তরে কেউ, প্রতিবেশী 2 পূর্ব, প্রতিবেশী 3 দক্ষিণ ও প্রতিবেশীকে 10 পশ্চিমে।

উত্তর-পশ্চিমে সবচেয়ে বেশি যে মান থেকে শুরু হয় আপনার প্রতিবেশীদের অ্যারে আউটপুট করতে হবে। প্রতিটি প্রতিবেশী কেবল একবার প্রদর্শিত হবে, অন্যের তুলনায় এর অবস্থানটিতে। আসুন কয়েকটি উদাহরণ দেখুন:

ইনপুট:

0 0 0 0

কোনও প্রতিবেশী নেই (খালি কেস), আউটপুট:

1

ইনপুট:

0 2 0 0 
0 0 0 1

1 এর পূর্বে 2 প্রতিবেশী আছে। 2 পশ্চিমে 1 প্রতিবেশী আছে

আউটপুট:

1 2

ইনপুট:

0 2 0 0
0 0 3 1
2 0 0 0

1 এর পূর্বে 2 প্রতিবেশী আছে। 2 পশ্চিমে 1 এবং দক্ষিণে 3 প্রতিবেশী রয়েছে। 3 উত্তরে প্রতিবেশী 2 আছে

আউটপুট:

1 2
  3

ইনপুট:

2 0 0 0
0 0 1 0

আউটপুট:

2
1

ইনপুট:

0 2 3 0
0 0 4 1
1 4 0 0
2 0 0 3

আউটপুট:

1 2
3 4

নিয়মাবলী:

  • পরীক্ষার কেসগুলি একটি খালি লাইনের দ্বারা পৃথক করা হয় । বিভিন্ন পরীক্ষার কেসগুলির আউটপুট অবশ্যই একটি খালি লাইনের দ্বারা পৃথক করতে হবে।
  • আউটপুট গ্রাফ সর্বদা সংযুক্ত থাকে। আপনার প্রতি 1 প্রতিবেশী কেবল 2 জনের সাথে চলবে না, পাশাপাশি 3 প্রতিবেশী থেকে কেবল 4 জন (1-2 উপাদান থেকে বিচ্ছিন্ন)।
  • সমস্ত এন্ট্রি বৈধ। অবৈধ এন্ট্রিগুলির উদাহরণ:
    • স্পেস, লাইন ব্রেক এবং ডিজিট (0-9) এর চেয়ে আলাদা চিঠি বা কোনও চিহ্ন সম্বলিত এন্ট্রি।
    • আমি তম সারি ধারণকারী আমি তম মান (কারণ এক নিজস্ব প্রতিবেশী না হতে পারে)।
    • একটি নেতিবাচক মান বা মান 65,535 এর চেয়ে বেশি।
    • এক সারিতে চারটির চেয়ে কম মান।
    • এক সারিতে চারটির বেশি মান।
    • একই প্রতিবেশী দুটি পৃথক দিক নির্দেশ করে (উদা: 0 1 1 0)।

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


4
পরীক্ষার কেসগুলি একটি খালি লাইনের দ্বারা পৃথক করা হয় - এটি একটি অস্বাভাবিক প্রয়োজন। সাধারণত এটি দেওয়া হয় যে চ্যালেঞ্জ এন্ট্রিগুলি একবারে একটি করে টেস্টকেস পরিচালনা করবে (প্রতি অনুরোধে একটি)। যদি চ্যালেঞ্জ এন্ট্রিগুলি একসাথে একাধিক টেস্টকেস পরিচালনা করতে পারে তবে দুর্দান্ত, তবে একাধিক টেস্টকেস এন্ট্রিগুলি কীভাবে ফর্ম্যাট করা উচিত তা কঠোরভাবে উল্লেখ করার কোনও মূল্য নেই।
ডিজিটাল ট্রমা

1
@ ছাওটিক আপনি এটি সম্পূর্ণরূপে মুছে ফেলতে পারেন (আপনি যদি চান), পুনর্বিবেচনা ইতিহাস চেঞ্জলগের যত্ন নেবে
রড

1
আউটপুট কীভাবে আউটপুটটির সাথে সম্পর্কিত তা আমি বুঝতে পারি না। "প্রতিবেশীদের অ্যারে" এর অর্থ কী এবং আপনি কোন বিধি দ্বারা এই অ্যারেটি তৈরি করা উচিত তা আরও বিশদে ব্যাখ্যা করতে পারবেন?
স্টিভি গ্রিফিন

3
আআআআআআআআআআহ, আমি মনে করি এটি পেয়েছি। প্রতিবেশীরা গণনা করা হয় 1,2,...। যদিও আমি তাদের পূর্ব দিকে প্রতিবেশী 2 "ইউনিট" এবং দক্ষিণে 1 "ইউনিট" রেখেছি এবং আরও কিছু আছে। এটা বোঝাতে পারেনি।
স্টিভি গ্রিফিন

2
@ স্টিভি গ্রিফিন হ্যাঁ এটি পরিষ্কার হওয়ার আগে আমাকে কয়েকবার পড়তে হয়েছিল
ডিজিটাল ট্রমা

উত্তর:


2

পাইথন 2 , 152 বাইট

l=input()
def f(x,y,n):
 if m[x][y]<n:m[x][y]=n;[f(i%3-1+x,i/3-1+y,h)for h,i in zip(l[n-1],[3,7,5,1])]
e=len(l)
m=eval(`[[0]*e*2]*e*2`)
f(e,e,1)
print m

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

ইনপুট অর্ডার NESW
fবাড়িগুলি জনসাধারণের জন্য একটি পুনরাবৃত্তি ফাংশন


দুঃখিত, এটি কাজ করছে না। এমনকি আমি আপনার ইনপুট ফর্ম্যাটটি দিয়েও চেষ্টা করেছি (যা আমি অনুমান করি এটি ভাল): [[0, 5, 2, 0], [1, 6, 3, 0], [2, 7, 4, 0], [3, 8 , 0, 0], [0, 9, 6, 1], [5, 10, 7, 2], [6, 11, 8, 3], [7, 12, 0, 4], [0, 13 , 10, 5], [9, 14, 11, 6], [10, 15, 12, 7], [11, 16, 0, 8], [0, 17, 14, 9], [13, 18 , 15, 10], [14, 19, 16, 11], [15, 20, 0, 12], [0, 21, 18, 13], [17, 22, 19, 14], [18, 23 , 20, 15], [19, 24, 0, 16], [0, 0, 22, 17], [21, 0, 23, 18], [22, 0, 24, 19], [23, 0 , 0, 20]]
বিশৃঙ্খল

@ ছাওটিক আমার কাছে ঠিক মনে হচ্ছে আউটপুট ফর্ম্যাটটি সন্তুষ্ট নয়?
রড

ঠিক আছে, আমি সেখানে those সমস্ত শূন্যগুলির সাথে হারিয়ে গেলাম। আমি মনে করি এগুলি অপসারণ করা আরও ভাল but
বিশৃঙ্খল

আপনি কি কেবল অব্যবহৃত স্থান থেকে গেছেন?
l4m2

2
  • এখনও গল্ফ :)

জাভাস্ক্রিপ্ট (নোড.জেএস) , 135 বাইট

R=>R.map((t,y)=>r.map((T,Y)=>T.map((X,I)=>X==y+1?[-1,1,1,-1].map((x,i)=>t[i]?(r[a=Y+x*-~i%2]=r[a]||[])[I+x*i%2]=t[i]:0):0)),r=[[1]])&&r

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

_______________________________________________________________

দ্বিতীয় পন্থা

জাভাস্ক্রিপ্ট (নোড.জেএস) , 130 বাইট

f=(R,x=0,y=0,c=1,r=[[]])=>[-1,1,1,-1].map((d,i)=>(t=R[c-1][i])&&!(r[Y=y+d*-~i%2]=r[Y]||[])[X=x+d*i%2]?f(R,X,Y,t,r):0,r[y][x]=c)&&r

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

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