একটি এন ডি টিক ট্যাক টো খেলায় কে জিতেছে তা পরীক্ষা করতে সংক্ষিপ্ততম প্রোগ্রাম তৈরি করুন ।
যখন আপনার n
প্রস্থ (প্রস্থ) এবং d
(মাত্রা নম্বর) এই ব্যাপ্তিতে থাকবে তখন আপনার প্রোগ্রামটি কাজ করা উচিত :
n∈[3,6]∩ℕ ie a number from this list: 3,4,5,6
d∈[2,5]∩ℕ ie a number from this list: 2,3,4,5
n = 3; d = 2
(3 2 অর্থাৎ 3 দ্বারা 3):
[][][]
[][][]
[][][]
n = 3; d = 3
(3 3 অর্থাৎ 3 বাই 3 বাই 3):
[][][]
[][][]
[][][]
[][][]
[][][]
[][][]
[][][]
[][][]
[][][]
n = 6; d = 2
(6 2 অর্থাৎ 6 দ্বারা 6):
[][][][][][]
[][][][][][]
[][][][][][]
[][][][][][]
[][][][][][]
[][][][][][]
ইত্যাদি।
বিজয়ী (যদি আপনি যথেষ্ট পরিমাণে বহুমাত্রিক টিক টেক খেলেন তবে এটি একই is
সেখানে জয় পাওয়ার জন্য, একজন খেলোয়াড়ের অবশ্যই একটি লাইনের সাথে সংলগ্ন সমস্ত স্কোয়ার থাকতে হবে। অর্থাৎ, সেই খেলোয়াড়ের n
বিজয়ী হওয়ার জন্য অবশ্যই একটি লাইনে নড়াচড়া করতে হবে।
সংলগ্ন:
- প্রতিটি টালি একটি পয়েন্ট; উদাহরণস্বরূপ (0,0,0,0,0) হল একটি পয়েন্ট
d=5
- সংলগ্ন টাইলস টাইলস যেমন তারা একই ইউনিট ডি-কিউবে উভয় পয়েন্ট। অন্য কথায়, টাইলগুলির মধ্যে চেবিশেভ দূরত্ব 1।
- অন্য কথায়, যদি একটি বিন্দু একটি বিন্দুটির
p
সাথে সংলগ্ন হয়q
তবেp
তার সাথে সংশ্লিষ্ট স্থানাঙ্কের প্রতিটি স্থানাঙ্কq
এটির চেয়ে আলাদা হয় না। অতিরিক্তভাবে, অন্তত স্থানাঙ্ক জুটিতে ঠিক একের দ্বারা পৃথক হয়।
লাইনস:
- লাইনগুলি ভেক্টর এবং একটি টাইল দ্বারা সংজ্ঞায়িত করা হয়। সমীকরণ দ্বারা আঘাত করা প্রতিটি টাইল একটি লাইন:
p0 + t
<
some vector with the same number of coordinates as p0>
ইনপুট :
ইনপুটটি STDIN এ হবে। ইনপুটটির প্রথম লাইনটি দুটি সংখ্যা n
এবং d
ফর্মের হবে n,d
।
এরপরে স্থানাঙ্কের সমন্বয়ে একটি লাইন হবে যা চলমানগুলি নির্দিষ্ট করে। স্থানাঙ্ক আকারে তালিকাভুক্ত হবে: 1,1;2,2;3,3
। উপরের বাম কোণটি মূল (2D এর জন্য 0,0)। সাধারণ ক্ষেত্রে, এই তালিকাটি এমন হবে 1,2,...,1,4;4,0,...,6,0;...
যেখানে প্রথম সংখ্যাটি বাম-ডান-নেস, দ্বিতীয় আপ-ডাউন-নেস, তৃতীয় মাত্রার মধ্য দিয়ে তৃতীয় ইত্যাদি উপস্থাপন X
করে হয় O
প্রথম পালা, ....
ইনপুটটি একটি নতুন লাইন অনুসরণ করবে।
আউটপুট :
আউটপুট STDOUT এ হবে। কেউ জিতলে কে জিতল বা টাই হলে তা সহজভাবে নির্দেশ করুন। এটি যদি টাই বা জয় না হয় তবে কিছুই আউটপুট করবেন না।
অতিরিক্তভাবে, একটি সরানো সংঘর্ষ রয়েছে কিনা তা নির্দেশ করুন, অর্থাত্ যদি একই জায়গায় কমপক্ষে দুটি চাল থাকে।
যদি ইনপুটটি শেষ হওয়ার আগে যদি জয় / ড্র হয় তবে আপনার প্রোগ্রামটি যা চায় তা করতে পারে।
পরীক্ষার কেস (যে কেউ আরও কিছু বলতে চান?):
ইনপুট:
4,3
0,0,0;1,1,1;1,0,1;2,0,2;0,0,1;2,0,0;2,0,1;3,0,2;3,0,1
উদাহরণ আউটপুট:
X wins
আর একটি সম্ভাব্য আউটপুট (ব্যাখ্যা প্রয়োজন):
1
n
বিজয়ী হওয়ার জন্য একটি লাইনে চলে। (এই মন্তব্যগুলি স্যান্ডবক্সে পোস্ট না করার জন্য দুঃখিত তবে আমার এটি দেখারও সময় পেল না কারণ এটি স্যান্ডবক্সিংয়ের পরে খুব শীঘ্রই পোস্ট করা হয়েছিল।)