N d खेलने के लिए एक निर्धारक कार्यक्रम बनाएंअन्य प्रतियोगियों के साथ tic-tac-toe ।
आपका कार्यक्रम तब काम करना चाहिए जब n
(चौड़ाई) और d
(आयाम संख्या) इन श्रेणियों में हो:
n∈[3,∞)∩ℕ ie a natural number greater than 2
d∈[2,∞)∩ℕ ie a natural number greater than 1
n = 3; d = 2
(३ २ अर्थात ३ बाय ३):
[][][]
[][][]
[][][]
n = 3; d = 3
(3 3 यानी 3 बाय 3 बाय 3):
[][][]
[][][]
[][][]
[][][]
[][][]
[][][]
[][][]
[][][]
[][][]
n = 6; d = 2
(6 2 यानी 6 बाय 6):
[][][][][][]
[][][][][][]
[][][][][][]
[][][][][][]
[][][][][][]
[][][][][][]
और इसी तरह।
इनपुट:
इनपुट STDIN को होगा। इनपुट की पहली पंक्ति दो नंबर होगी, n
और d
फॉर्म मेंn,d
।
इसके बाद एक लाइन होगी जिसमें निर्देशांक चालों को निर्दिष्ट करता है जो किया गया है। निर्देशांक को प्रपत्र में सूचीबद्ध किया जाएगा 1,1;2,2;3,3
:। ऊपरी बाएं कोने में मूल (2 डी के लिए 0,0) है। सामान्य स्थिति में, यह सूची ऐसी होगी 1,2,...,1,4;4,0,...,6,0;...
जहां पहला नंबर बाएं-दाएं-नेस का प्रतिनिधित्व करता है, दूसरा अप-डाउन-नेस, तीसरा आयाम के माध्यम से तीसरा, आदि ध्यान दें कि पहला समन्वय है।X
पहली बारी है, दूसरा। हैO
पहली बारी, ....
क्या यह पहला कदम होना चाहिए, इनपुट एक संख्या होगी जिसके बाद 1 रिक्त रेखा होगी।
स्थिरता के लिए, इनपुट हमेशा एक नई रेखा के साथ समाप्त होगा। नमूना इनपुट (\ n newline है):
10,10\n0,0,0,0,0,0,0,0,0,0;0,2,3,4,5,6,7,8,9,0;0,1,2,3,4,5,6,7,8,9\n
पहले कदम के लिए:
10,10\n\n
कहाँ पे \n
न्यूलाइन कैरेक्टर है।
आउटपुट:
इनपुट के समान प्रारूप (अल्पविराम से अलग की गई सूची) में आप जिस मूव को बनाना चाहते हैं, उसे आउटपुट करें। एक अमान्य कदम (अर्थात जो पहले ही लिया जा चुका है) के परिणामस्वरूप खेल को नुकसान होगा।
नोट: आप एक यादृच्छिक संख्या जनरेटर का उपयोग कर सकते हैं, जब तक कि आप इसे एक मूल्य के साथ बीज देते हैं जैसे कि प्रत्येक रन समान होता है समान शर्तें दी जाती हैं। दूसरे शब्दों में, कार्यक्रम निर्धारक होना चाहिए।
नोट: केवल मान्य चालों की अनुमति है।
खेल जीतना (यदि आपने पर्याप्त बहु-आयामी टिक टीएसी पैर की अंगुली खेली है, तो यह वही है।)
जीत हासिल करने के लिए, एक खिलाड़ी के पास एक पंक्ति के साथ सभी आसन्न वर्ग होने चाहिए। यानी उस खिलाड़ी के पास होना चाहिएn
विजेता होने के लिए एक पंक्ति में आगे ।
सटा हुआ:
- प्रत्येक टाइल एक बिंदु है; उदाहरण के लिए (0,0,0,0,0) एक बिंदु है
d=5
- आसन्न टाइलें ऐसी टाइलें हैं जैसे वे एक ही इकाई d- घन पर दोनों बिंदु हैं। दूसरे शब्दों में, चेबीशेव दूरी टाइल्स के बीच 1 है।
- दूसरे शब्दों में, यदि कोई बिंदु किसी बिंदु
p
से सटा हुआ हैq
, तो प्रत्येकp
संगतq
उस में अलग-अलग समन्वय करता है, जिससे वह एक से अधिक न हो। इसके अतिरिक्त, कम से कम समन्वय जोड़ी पर बिल्कुल एक से भिन्न होता है।
लाइन्स:
- लाइनों को वैक्टर और एक टाइल द्वारा परिभाषित किया गया है। एक पंक्ति समीकरण द्वारा मारा जाने वाला प्रत्येक टाइल है:
p0 + t
<
some vector with the same number of coordinates as p0>
सिमुलेशन और जीतने की स्थिति:
अपने उत्तर में बताएं कि क्या यह ग्रेडिंग के लिए तैयार है। यही है, स्पष्ट रूप से इंगित करें कि आपका उत्तर दिया गया है या नहीं।
यदि आपका उत्तर पूर्ण के रूप में चिह्नित किया गया है, तो इसे कोड को अंतिम संपादन के कम से कम 24 घंटे बाद तक वर्गीकृत नहीं किया जाएगा।
कार्यक्रम ऑफ़लाइन काम करना चाहिए। यदि कोई प्रोग्राम धोखा देता हुआ पाया जाता है, तो यह स्वचालित रूप से एक स्कोर प्राप्त
-1
करेगा, और आगे स्कोर नहीं किया जाएगा। (उनके कार्यक्रमों को धोखा देने से कोई कैसे समाप्त होगा?)यदि आपका प्रोग्राम अमान्य आउटपुट उत्पन्न करता है, तो इसे तुरंत गेम के लिए नुकसान के रूप में गिना जाता है
यदि आप प्रोग्राम 1 मिनट के बाद आउटपुट का उत्पादन करने में विफल रहते हैं, तो इसे तुरंत गेम के लिए नुकसान के रूप में गिना जाता है। यदि आवश्यक हो, तो गति के लिए अनुकूलित करें। मैं एक कार्यक्रम को दूसरे से दूर करने के लिए एक घंटे इंतजार नहीं करना चाहता।
प्रत्येक प्रोग्राम अन्य कार्यक्रमों के खिलाफ प्रत्येक के लिए दो बार चलाया जाएगा
n
रेंज में[3,6]
और प्रत्येकd
श्रेणी में[2,5]
एक बार के रूप में,X
और एक बार के रूप मेंO
। यह एक दौर है।प्रत्येक गेम के लिए एक प्रोग्राम जीतता है, वह
+3
अपने स्कोर पर पहुंच जाता है। यदि कार्यक्रम बंधा हुआ है (एक ही राउंड में 1 जीत और 1 हार या दोनों खेलों के लिए संबंध), तो यह हो जाता है+1
। यदि कार्यक्रम खो गया है, तो यह हो जाता है+0
(अर्थात कोई परिवर्तन नहीं)।उच्चतम स्कोर जीत के साथ कार्यक्रम। क्या एक टाई होना चाहिए, फिर कम से कम खोए हुए गेम (बंधे हुए प्रतियोगियों में से) के साथ कार्यक्रम जीत जाता है।
नोट: उत्तरों की संख्या के आधार पर, मुझे परीक्षण चलाने में सहायता की आवश्यकता हो सकती है।
सौभाग्य! और सिमुलेशन आपके पक्ष में कभी भी चल सकता है!