চেকার চেকার


10

এই চ্যালেঞ্জের লক্ষ্য হ'ল কোনও পদক্ষেপ আইনী ইংলিশ চেকার্স পদক্ষেপ কিনা তা নির্ধারণ করা ।

এই চ্যালেঞ্জটি একটি 8x8 বোর্ড ব্যবহার করবে। সরানো টুকরোটিকে একজন মানুষ হিসাবে (রাজা নয়) হিসাবে বিবেচনা করা উচিত যা কেবল তির্যকভাবে এগিয়ে যেতে পারে। বোর্ডে 0 বা তার বেশি কালো টুকরা এবং 1 বা একাধিক সাদা টুকরা থাকবে। একটি সাদা টুকরা বর্তমানে চলমান হবে। সাদা টুকরা এর সামনে একটি কালো টুকরোর তির্যকভাবে "লাফিয়ে" ফেলতে পারে যদি এর পিছনে বর্গক্ষেত্র খালি থাকে। এর সামনে ত্রিভুজের দিক দিয়ে উভয় দিকের আরও একটি কালো টুকরো থাকলে সেই অবস্থান থেকে আরও লাফিয়ে নেওয়া সম্ভব। ক্যাপচার বাধ্যতামূলক, সুতরাং উপলব্ধ যে লাফ না নেওয়া অবৈধ। তবে এমন কোনও পথ নেওয়া বাধ্যতামূলক নয় যা জাম্পের সংখ্যা সর্বাধিক করে তোলে। মূলত, এর অর্থ হ'ল আপনি যদি ঝাঁপ দেন এবং শেষের অবস্থান থেকে অন্য সম্ভাব্য লাফ দেয় তবে সেই পদক্ষেপটি অবৈধ। পিস পজিশনে নিম্নলিখিত নম্বর স্কিম ব্যবহার করুন:

চেকবোর্ড নম্বর


বিধি

ইনপুট:

  • কালো টুকরা উপস্থাপন করে এমন সংখ্যার একটি তালিকা।

  • সাদা টুকরা উপস্থাপন করে এমন সংখ্যার একটি তালিকা।

  • সাদা টুকরা জন্য একটি সূচনা অবস্থান

  • সাদা টুকরা জন্য শেষ অবস্থান

আউটপুট:

  • একটি সরল মান যদি মুভটি বৈধ হয়, অন্যথায় একটি মিথ্যা মান


আপনি ধরে নিতে পারেন একটি সাদা টুকরা সর্বদা শুরু অবস্থান দখল করবে।

সুবিধাজনক হলে, আপনি ধরে নিতে পারেন যে সাদা টুকরা তালিকার প্রথম সাদা টুকরা ইনপুট 3 গ্রহণের পরিবর্তে প্রারম্ভিক অবস্থানটি ধারণ করবে।

স্ট্যান্ডার্ড কোড গল্ফ বিধি। সবচেয়ে কম বাইট জেতা


পরীক্ষার কেস

উদাহরণস্বরূপ, ও হ'ল শুরুর অবস্থান, এক্স হল সমাপ্তি অবস্থান, বি কালো টুকরা এবং ডাব্লু সাদা টুকরা

Black pieces: []
White pieces: [5]
Move: (5, 1)
Output: True

Single move no jump
 X _ _ _
O _ _ _ 

B: [6]
W: [9]
M: (9, 2)
O: True

Single jump
 _ X _ _
_ B _ _ 
 O _ _ _

B: [2, 6]
M: (9, 2)
O: False

Illegal ending position on top of black piece
 _ X _ _
_ B _ _ 
 O _ _ _

B: [7, 14]
W: [17]
M: (17, 3)
O: True

Double jump
 _ _ X _
_ _ B _ 
 _ _ _ _
_ B _ _ 
 O _ _ _

B: [7, 14]
M: (17, 10)
O: False

Illegal jump, must take the next jump as well
 _ _ _ _
_ _ B _ 
 _ X _ _
_ B _ _ 
 O _ _ _

B: [4]
W: [8]
M: (8, 3)
O: False

Illegal jump across the board
 _ _ _ X
B _ _ _ 
 O _ _ _


B: [6, 7]
W: [6]
M: (10, 1)
O: True

Split decision p1
 X _ _ _
_ B B _ 
 _ O _ _

B: [6, 7]
M: (10, 3)
O: True

Split decision p2
 _ _ X _
_ B B _ 
 _ O _ _


B: [2]
W: [1]
M: (1, 3)
O: False

Sideways Jump
 O B X _

B: [6]
W: [1]
M: (1, 10)
O: False

Backwards Jump
 O _ _ _
_ B _ _ 
 _ X _ _

B: [6]
W: [9, 2]
M: (9, 2)
O: False

Illegal ending position on top of white piece
 _ X _ _
_ B _ _ 
 O _ _ _

B: []
W: [9, 6]
M: (9, 2)
O: False

Illegal jump over white piece
 _ X _ _
_ W _ _ 
 O _ _ _

B: [8, 15, 23, 24]
W: [27]
M: (27, 4)
O: True


Split decision long path
 _ _ _ X
_ _ _ B 
 _ _ _ _
_ _ B _ 
 _ _ _ _
_ _ B B 
 _ _ W _

B: [8, 15, 23, 24]
W: [27]
M: (27, 20)
O: True

Split decision short path
 _ _ _ _
_ _ _ B 
 _ _ _ _
_ _ B _ 
 _ _ _ X
_ _ B B 
 _ _ W _

3
আমি B=[8,15,23,24];W=[27]প্রতি 1 M=[27,4]এবং M=[27,20]1 এর মতো একটি পরীক্ষার ক্ষেত্রে পরামর্শ দিই এটি দিকনির্দেশ পরিবর্তন দেবে। 2 এটি আমার কাছে থাকা একটি প্রশ্নের উত্তর দেবে: উভয়ই বৈধ নাকি দীর্ঘ সময় নেওয়া উচিত? ("ক্যাপচার বাধ্যতামূলক, সুতরাং যে জাম্প পাওয়া যায় তা গ্রহণ করা অবৈধ" প্রকারের পরামর্শ উভয়ই বৈধ, যদিও আমি জানি না কেন আপনি কেন এটি সম্ভব না হলে ক্যাপচার না করা অবৈধ করেন, তাই সম্ভবত আপনি এই পদক্ষেপ গ্রহণ করতে চাইছেন সম্ভব হিসাবে অনেক টুকরা?)
জোনাথন অ্যালান

দুঃখিত আমি কিভাবে খেলতে জানি না (ইংরেজি) চেকারস । আইনী পদক্ষেপ কী তা সম্পর্কে আপনার আরও কিছু বিশদ যুক্ত করতে আপত্তি করবেন।
tsh

1
এখানে STDIN- বন্ধুত্বপূর্ণ ফর্ম্যাটে পরীক্ষাগুলির সংক্ষিপ্তসার রয়েছে
আর্নৌল্ড

ক্যাপচার বাধ্যতামূলক, সুতরাং উপলব্ধ যে লাফ না নেওয়া অবৈধ। "ঝাঁপ দাও" এর অর্থ কী?
এরিক আউটগল্ফার

1
@ জোনাথন অ্যালান আমার মনে হয় আমি আপনার প্রশ্নের ব্যাখ্যাটিতে ব্যাখ্যা করেছি এবং পরীক্ষার কেস যুক্ত করেছি।
এওমিকা

উত্তর:


1

এটি চ্যালেঞ্জিং ছিল :) * স্থির ত্রুটি (বাইট যুক্ত)

জাভাস্ক্রিপ্ট (নোড.জেএস) , 197 193 191 185 181 186 বাইট

f=(B,W,S,E,F=1)=>g(S).filter((x,i)=>B[I="includes"](x)&!B[I](t=g(x)[i])&!W[I](t)&&t>0?F+=f(B,W,t,E):0)[0]?F>1:g(S)[I](E)
g=S=>[S--,!(y=~-(e=S-3)/4%2|0)||S%4^3?y?e+1:e:0,S%4||y?y?e:e-1:0]

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


আমি মনে করি আপনি এর >>2&1পরিবর্তে ব্যবহার করতে পারেন /4%2|0
আর্নৌল্ড

টেস্টকেস: [10, 3], [14], 14, 7ব্যর্থ।
tsh

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