परिचय
ज़ियांग्की का खेल , जिसे चीनी शतरंज के रूप में भी जाना जाता है, एक शतरंज जैसा खेल है जो चीन, वियतनाम, ताइवान और अन्य पूर्वी एशियाई देशों में लोकप्रिय है। ज़ियांग्की में दो पक्षों का रंग लाल और काला है। ज़ियांग्की में सात टुकड़े हैं: सामान्य ( G
), सलाहकार ( A
), हाथी ( E
), घोड़ा ( H
), रथ ( R
), तोप ( C
), और सैनिक ( S
)। इस चुनौती के उद्देश्यों के लिए, अपरकेस टुकड़ों को लाल और निचले टुकड़ों को काला माना जाता है। इनमें से अधिकांश टुकड़े पश्चिमी शतरंज में एक बराबर हैं, लेकिन एक पूरी तरह से अद्वितीय टुकड़ा है: तोप।
तोप शतरंज में किश्ती या Xiangqi में एक रथ (या तो एक्स या वाई अक्ष पर रिक्त स्थान के किसी भी संख्या बढ़ रहा) की तरह चलता रहता है, लेकिन इस तरह से हमला नहीं कर सकते हैं। इसके बजाय, यह किसी भी रंग (दोस्त या दुश्मन) के एक टुकड़े पर एक्स या वाई कुल्हाड़ियों (उसी तरह से चलता है) के साथ कूदकर हमला करता है और विपरीत रंग के टुकड़े पर उतरता है, जिसे वह तब पकड़ लेता है। ध्यान दें कि सभी शतरंज और जियांग्की टुकड़े की तरह, तोप अपने स्वयं के रंग पर कब्जा नहीं कर सकते हैं।
उदाहरण के लिए, निम्नलिखित आरेख में, जिस स्थान पर तोप ( C
) स्थानांतरित हो सकती है, उसके साथ चिह्नित किया जाता है *
, और जिन पर वह कूद सकता है और कब्जा कर सकता है X
, उन्हें यह मानकर चिह्नित किया जाता है कि वहां एक काला / निचला टुकड़ा है।
....X....
.........
.........
....h....
....*....
****C**aX
....E....
....X....
....g....
....R....
चुनौती
एक प्रोग्राम या फ़ंक्शन लिखें, जो कि एक बोर्ड के रूप में xiangqi बोर्ड और एक बोर्ड के निर्देशांक को इनपुट के रूप में दिया गया हो, निर्देशांक की एक सूची को आउटपुट करता है जिससे तोप आगे बढ़ सकती है या कूद सकती है।
सभी I / O का प्रारूप लचीला है।
जियांग्की बोर्ड के लिए स्वीकार्य प्रारूपों में एक नईलाइन-अलग स्ट्रिंग, तार की एक सूची या किसी अन्य विभाजक के साथ एक स्ट्रिंग शामिल है aceghrsACEGHRS.
। आप मान सकते हैं कि बोर्ड हमेशा 9x10 होगा, एक ज़ियांग्की बोर्ड का आकार।
बोर्ड की सामग्री में कई अवधियों ( .
), बोर्ड पर खाली बिंदुओं का प्रतिनिधित्व करने वाले और टुकड़ों का प्रतिनिधित्व करने वाले पात्र शामिल होंगे। टुकड़ा-से-चरित्र मानचित्रण इस प्रकार है:
A -> advisor
C -> cannon
E -> elephant
G -> general
H -> horse
R -> chariot
S -> soldier
अपरकेस अक्षर लाल टुकड़ों का प्रतिनिधित्व करते हैं, और निचले अक्षर काले टुकड़ों का प्रतिनिधित्व करते हैं। यहां सूचीबद्ध वर्ण (अर्थात नहीं aceghrsACEGHRS.
) बोर्ड में दिखाई नहीं देंगे।
इनपुट समन्वय का प्रारूप लचीला है, और आउटपुट निर्देशांक के प्रारूप से मेल खाने के लिए आवश्यक नहीं है। यह उदाहरण के लिए दो पूर्णांक तत्वों, 2-ट्यूपल, दो संख्याओं के साथ किसी भी विभाजक या दो वर्णों की सूची हो सकती है। यह या तो 0-अनुक्रमित या 1-अनुक्रमित भी हो सकता है। आप यह मान सकते हैं कि बोर्ड पर समन्वय हमेशा एक तोप ( C
या c
) को हल करेगा ।
निर्देशांक जिसमें तोप कूद सकती है और स्थानांतरित हो सकती है, आउटपुट में समान सूची में दिखाई देनी चाहिए; दोनों के बीच अंतर करना आवश्यक नहीं है। किसी भी व्यक्तिगत आउटपुट निर्देशांक के लिए स्वीकार्य प्रारूप इनपुट समन्वय के लिए समान हैं। निर्देशांक न्यूलाइन-सेपरेटेड, आउटपुट एक सूची या किसी अन्य प्रतिनिधित्व के रूप में हो सकते हैं। कोई विशेष आदेश आवश्यक नहीं है; आदेश को निर्धारक भी नहीं होना चाहिए।
ध्यान दें कि तोप के एक ही रंग (मामले) के एक टुकड़े पर कूदता कानूनी नहीं है, और इस प्रकार आउटपुट में प्रकट नहीं हो सकता है।
परीक्षण के मामलों
ध्यान दें कि सभी परीक्षण मामले संभव नहीं हैं।
Input board
Input coordinate (0-indexed)
List of output coordinates
.........
.........
.........
.........
.........
....C....
.........
.........
.........
.........
(4, 5)
[(0, 5), (1, 5), (2, 5), (3, 5), (5, 5), (6, 5), (7, 5), (8, 5), (4, 0), (4, 1), (4, 2), (4, 3), (4, 4), (4, 6), (4, 7), (4, 8), (4, 9)]
.........
.....G...
.........
.........
.....e...
.........
.........
h..R.c..S
.....a...
.........
(5, 7)
[(4, 7), (6, 7), (7, 7), (5, 6), (5, 5), (5, 1)]
..s......
..A...e..
.........
EACCcsh.H
..r......
.....S...
......s..
....C....
..g......
(2, 3)
[(2, 0), (2, 2), (4, 3), (2, 9)]
rheagaehr
.........
.c.....c.
s.s.s.s.s
.........
.........
S.S.S.S.S
.C.....C.
.........
RHEAGAEHR
(7, 7)
[(2, 7), (3, 7), (4, 7), (5, 7), (6, 7), (8, 7), (7, 0), (7, 3), (7, 4), (7, 5), (7, 6), (7, 8)]
स्कोरिंग
ये है कोड गोल्फ, इसलिए सबसे छोटा उत्तर (बाइट्स में) जीतता है। हैप्पी गोल्फिंग!