पृष्ठभूमि
मैंने एक आयताकार कमरे में बक्से रखकर एक साधारण बाधा कोर्स का निर्माण किया है। अब मैं अनिवार्य रूप से विभिन्न तरीकों की संख्या को गिनना चाहता हूं जिसमें इसे हल किया जा सकता है। मुझे चाहिए कि आप मुझे इसके लिए एक कार्यक्रम लिखें।
इनपुट
आपका इनपुट वर्णों का एक गैर-रिक्त आयताकार सरणी है .#
। डॉट्स .
खाली जगह हैं, और #
बाधाएं हैं।
बाधा कोर्स के माध्यम से एक रास्ता शीर्ष बाएं कोने से शुरू होता है और नीचे दाएं कोने पर समाप्त होता है, और केवल दाएं या नीचे जाता है। इसके अलावा, एक वैध मार्ग एक बाधा से नहीं गुजर सकता है। यहाँ कुछ उदाहरणों के साथ तैयार किए +
गए हैं:
Valid path Invalid path Invalid path Invalid path
++........ ++........ +++++..... ..+.......
.++++++#.. .+.....#.. ....+++#++ ..++...#..
......+#.. .+.++++#.. .......#.+ ...+++.#..
....#.++++ .+++#.++++ ....#....+ ....#+....
दो रास्ते अनिवार्य रूप से 1 समान हैं यदि +
एक समय में एक को स्थानांतरित करके दूसरे में बदला जा सकता है । मध्यवर्ती रास्तों को भी मान्य होना चाहिए, ताकि आप एक बाधा पर एक रास्ता न मोड़ सकें। उदाहरण के लिए, यहां पहले दो रास्ते अनिवार्य रूप से समान हैं, लेकिन तीसरा अनिवार्य रूप से उनसे अलग है, क्योंकि इसे दो बाधाओं से मुक्त नहीं किया जा सकता है:
++........ +......... +++++++++.
.+++++.#.. ++.....#.. .......#+.
.....+.#.. .++++++#.. .......#++
....#+++++ ....#.++++ ....#....+
उत्पादन
आपका आउटपुट बाधा कोर्स के माध्यम से आवश्यक रूप से विभिन्न रास्तों की संख्या है। दूसरे शब्दों में, यदि सभी मान्य पथों को अनिवार्य रूप से समान पथों के वर्गों में विभाजित किया जाता है, तो आउटपुट कक्षाओं की संख्या है। ध्यान दें कि यह संख्या 0 हो सकती है, अगर कोई वैध रास्ते नहीं हैं।
नियम और स्कोरिंग
आप एक पूर्ण कार्यक्रम या एक फ़ंक्शन लिख सकते हैं। सबसे कम बाइट गिनती जीतता है, और मानक खामियों को रोक दिया जाता है। कोई समय सीमा नहीं है, सिवाय इसके कि आपको इसे जमा करने से पहले प्रत्येक परीक्षण मामले पर अपने कार्यक्रम का मूल्यांकन करना चाहिए।
परीक्षण के मामलों
....
....
.... => 1
...#
....
...# => 0
#..#
..#.
.... => 0
......
......
..##..
......
...... => 2
......
...#..
......
..#...
#..... => 3
......
..#...
......
....#.
#..... => 4
.......
##.....
....###
...#...
..##.#.
#....#.
..#.... => 0
......#.
..##....
...#....
.......#
....#...
.##...#.
....#...
##...... => 7
.........
.#.#.#.#.
.........
#.#...#.#
.........
.#.#.#.#.
......... => 17
..........
.#........
..........
.....#....
#.........
........#.
......#...
.......... => 10
.........
.#.......
.........
...#.....
.........
.....#...
.........
.......#.
......... => 16
1 सही तकनीकी शब्द "होमोटोपिक" है ।
+
" से मेरा अनिवार्य रूप से मतलब है कि रास्ते का एक कोना विपरीत दिशा के कोने में उलटा है।
+
" से आपका क्या मतलब है ? क्या इसका मतलब यह है कि अनिवार्य रूप से समान पथ समान लंबाई होना चाहिए?