অনুগ্রহ
নং 1 ( পুরস্কৃত )
আমি প্রথম বৈধ উত্তরের জন্য 50 টি প্রতিনিধিত্ব করব
নং 2 ( পুরস্কৃত )
সংক্ষিপ্ত বৈধ উত্তরের জন্য আমি আরও 100 টি প্রতিনিধিত্ব করব।
নং 3 ( জমা দেওয়ার জন্য উন্মুক্ত )
আমি একটি উল্লেখযোগ্য সংক্ষিপ্ত বৈধ উত্তরের সাথে প্রথমটির জন্য 200 জনকে ফেলে দেব। উল্লেখযোগ্য হ'ল বর্তমানে সংক্ষিপ্ত উত্তরের সর্বাধিক 45% উত্তর ( 564 বাইট x 0.45 = সর্বোচ্চ 254 বাইট )।
খেলাাটি
আপনি ক্লাসিক গেম " নাইন মেনস মরিস " বা কেবল " মিল " মনে আছে? থ্রি মেনস মরিস নামে একটি ভিন্নতা রয়েছে যা কিছুটা পরিবর্তনযোগ্য টিকিট-টো-এর মতো।
বিধি
এটি গেমটির ফাঁকা বোর্ড:
a b c
1 [ ]–[ ]–[ ]
| \ | / |
2 [ ]–[ ]–[ ]
| / | \ |
3 [ ]–[ ]–[ ]
[ ]
এটি একটি ক্ষেত্র এবং |–/\
সেই ক্ষেত্রগুলির মধ্যে রুটের প্রতিনিধিত্ব করে।
গেমটি দুটি খেলোয়াড় 1
এবং 2
প্রতিটি বোর্ডে 3 টি টোকেন দিয়ে খেলে । এটি ইতিমধ্যে ঘটেছে এবং আমরা খেলায় আছি। mill
কোনও খেলোয়াড় খেলোয়াড়ের 3 টি টোকেনের উল্লম্ব বা অনুভূমিক সারি তৈরি করতে পারলে খেলাটি জিতে যায় ।
টোকনগুলি এই নিয়ম অনুসারে সংযোগকারী লাইনের পাশাপাশি বোর্ডে সরানো যেতে পারে:
যে কোনও সংলগ্ন খালি অবস্থানে (যেমন একটি প্রান্ত অবস্থান থেকে কেন্দ্রের দিকে, বা কেন্দ্র থেকে একটি প্রান্ত অবস্থানে, অথবা একটি প্রান্ত অবস্থান থেকে সংলগ্ন প্রান্ত অবস্থানে
যদি কোনও সংলগ্ন খালি অবস্থান না থাকে তবে কোনও খেলোয়াড়কে অবশ্যই স্থানান্তর করতে হবে, সেক্ষেত্রে সরানো এড়ানো যায় না।
চ্যালেঞ্জ
আপনি খেলোয়াড় 1
এবং আপনার পদক্ষেপ পরবর্তী। একটি প্রোগ্রাম বা একটি ফাংশন লিখুন, এটি নির্ধারণ করে যে:
- আপনি 2 বা ততোধিক পদক্ষেপের সাহায্যে জয়কে বাধ্য করতে পারেন ( সুনির্দিষ্ট জয় )
- যদি আপনার প্রতিপক্ষ কোনও ভুল করে থাকে ( সম্ভাব্য জয় )
- আপনি 2 বা তার চেয়ে কম চাল দিয়ে জিততে পারবেন না, কারণ আপনার আরও চালচলনের প্রয়োজন হবে বা জোর করে চালানো আপনার প্রতিপক্ষকে জয়ের দিকে নিয়ে যায় (জিততে অসম্ভব )
আবশ্যকতা
- যদিও আপনি অবশ্যই আপনার প্রতিপক্ষকে মৃত্যুর কাছে নিয়ে যাওয়ার সময় অবশ্যই জিতে গেছেন, আপনার প্রোগ্রাম অবশ্যই সীমাবদ্ধ সময়ে শেষ করবে।
- আপনি একটি প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন।
ইনপুট
খেলোয়াড়দের দ্বারা প্রতিনিধিত্ব করা হয় 1
এবং 2
। 0
একটি মুক্ত ক্ষেত্র সংজ্ঞায়িত করে। আপনি ম্যাট্রিক্স বা অ্যারে হিসাবে ইনপুট নিতে পারেন।
নির্দিষ্ট
A B C D
2 1 0 | 2 1 0 | 1 0 1 | 1 2 2
2 1 2 | 0 1 0 | 1 0 2 | 2 1 O
0 0 1 | 2 2 1 | 0 2 2 | O O 1
A: [2,1,0,2,1,2,0,0,1]
B: [2,1,0,0,1,0,2,2,1]
C: [1,0,1,1,0,2,0,2,2]
D: [1,2,2,2,1,0,0,0,1]
সম্ভব
A B C
1 0 1 | 1 0 1 | 1 2 2
1 2 2 | 1 2 0 | 0 0 1
2 0 0 | 2 0 2 | 2 1 0
A: [1,0,1,1,2,2,2,0,0]
B: [1,0,1,1,2,0,2,0,2]
C: [1,2,2,0,0,1,2,1,0]
অসম্ভব
A B
1 0 0 | 1 2 0
1 2 2 | 2 1 0
2 0 1 | 1 2 0
A: [1,0,0,1,2,2,2,0,1]
B: [1,2,0,2,1,0,1,2,0]
আউটপুট
আপনার প্রোগ্রামটি আউটপুট / একটি হাসি ফিরিয়ে দেওয়া উচিত:
- চিরন্তন জয়:
:)
- সম্ভাব্য জয়:
:|
- অসম্ভব জয়ের:
:(
উদাহরণ
দুটি পদক্ষেপে চূড়ান্ত জয়:
[2][1][ ] 1. [2][1][ ]
[2][1][2] -> [2][1][2]
[ ][ ][1] [ ][1][ ]
[2][1][ ] 1. [2][1][ ] [ ][1][ ] 2. [ ][ ][1]
[ ][1][ ] -> [ ][ ][1] -> [2][ ][1] -> [2][ ][1]
[2][2][1] [2][2][1] [2][2][1] [2][2][1]
[1][ ][1] 1. [ ][1][1] [ ][1][1] 2. [1][1][1]
[1][ ][2] -> [1][ ][2] -> [1][ ][2] -> [ ][ ][2]
[ ][2][2] [ ][2][2] [2][ ][2] [2][ ][2]
দুটি পদক্ষেপে সম্ভাব্য জয়:
[1][ ][1] 1. [ ][1][1] [ ][1][1] 2. [1][1][1]
[1][2][ ] -> [1][2][ ] -> [1][2][2] -> [ ][2][2]
[2][ ][2] [2][ ][2] [2][ ][ ] [2][ ][ ]
[1][ ][1] 1. [ ][1][1] [ ][1][1] 2. [1][1][1]
[1][2][ ] -> [1][2][ ] -> [1][2][2] -> [ ][2][2]
[2][ ][2] [2][ ][2] [2][ ][ ] [2][ ][ ]
[1][2][2] 1. [ ][2][2] [2][ ][2] 2. [1][2][2]
[ ][ ][1] -> [1][ ][1] -> [1][ ][1] -> [1][1][1]
[2][1][ ] [2][1][ ] [2][1][ ] [2][ ][ ]
দুটি চালক্রমে জয়লাভ করা অসম্ভব:
[1][ ][ ]
[1][2][2]
[2][ ][1]
বোনাস
যদি একটি নির্দিষ্ট জয় সম্ভব হয় এবং আপনার প্রোগ্রামটি সাফল্যের একপথের চালনার পাশাপাশি a1:a2
(1 পদক্ষেপ) বা a1:a2,a3:b2
(2 পদক্ষেপ) আউটপুট করে , আপনি আপনার বাইট গণনার 30% প্রত্যাহার করতে পারেন ।
এটি কোড গল্ফ - তাই বাইট জেতে সংক্ষিপ্ত উত্তর। স্ট্যান্ডার্ড লুফোলগুলি অনুমোদিত নয়।
পিটার টেলরকে ধন্যবাদ, যিনি স্যান্ডবক্সে কিছু ত্রুটি এবং শব্দগুণের উন্নতি করেছিলেন ।
[1,0,0,2,1,0,2,2,1]
, প্লেয়ার 2 চলাচল করতে পারে না - এটি কি প্লেয়ার 1 এর জন্য একটি জয়?