05AB1E , 13 12 बाइट्स
ÝI<ãʒ.øDŸQ}g
इसे ऑनलाइन आज़माएं!
जबकि अधिकांश उत्तर सूत्र या पुनरावृत्ति संबंध का उपयोग करते हैं, यह एक सरल गणना दृष्टिकोण है।
ग्रिड के माध्यम से प्रत्येक संभावित पथ को इसके y निर्देशांक की सूची द्वारा दर्शाया गया है। N सेगमेंट के लिए, कुल (n + 1) अंक हैं, लेकिन पहला और अंतिम एक आवश्यक रूप से 0 हैं, ताकि निर्दिष्ट करने के लिए (n-1) अंक निकल जाएं।
Ý # range [0..n]
I< # n - 1
ã # cartesian power
अब हमारे पास रास्तों की एक सूची है (अभी तक प्रारंभिक और अंतिम 0 शामिल नहीं हैं)। निर्माण करके, उनमें से कोई भी कभी भी नीचे नहीं जाता है। हालांकि, उनमें से कुछ के पास अवैध ढलान हैं (जैसे 0 से 2 तक कूद), इसलिए हमें उन्हें फ़िल्टर करने की आवश्यकता है।
ʒ }g # count how many paths satistfy the following condition
0.ø # surround with 0
Q # is equal to
DŸ # its own fluctuating range
Ÿ
है उतार-चढ़ाव रेंज में निर्मित। यदि आसन्न संख्याओं की कोई जोड़ी है, तो यह लापता संख्या में भर जाएगी (जैसे [0, 2] [0, 1, 2])। केवल कानूनी रास्ते अपरिवर्तित रह जाएंगे।
अवैध ढलानों की जांच के लिए शायद अधिक सहज तरीका होगा üαà
(जोड़ीदार पूर्ण अंतर की अधिकतम सीमा 1 के बराबर होती है)। हालांकि, यह फ्लैट [0, 0, ... 0] पथ को याद करता है, जिसे ठीक करने के लिए एक अतिरिक्त बाइट खर्च होती है।
अंत में, ध्यान दें कि वास्तविक कोड का उपयोग करता है .ø
जहां यह स्पष्टीकरण उपयोग करता है 0.ø
। रास्ते को 0s से घेरने के बजाय, यह निहित इनपुट को रास्ते की दो प्रतियों से घेरता है। यह निर्देशांक प्रणाली को उल्टा और अंदर-बाहर करता है, लेकिन अन्यथा समतुल्य है।