कार्य
एक थिएटर में 10 पंक्तियाँ होती हैं, जिन्हें आगे से पीछे की ओर लेबल A
किया J
जाता है, और प्रत्येक पंक्ति में 15 सीटें, बाएँ से दाएँ 1 से 15 तक होती हैं।
कार्यक्रम सर्वश्रेष्ठ सीटों का चयन करने के लिए निम्नलिखित नियमों का उपयोग करता है।
- नियम 1: एक बुकिंग में सभी सीटें एक-दूसरे के बगल में एक ही पंक्ति में होनी चाहिए।
- नियम 2: सीटों को जितना संभव हो उतना सामने के पास होना चाहिए, फिर जितना संभव हो उतना बाईं ओर के करीब (सबसे कम अक्षर, फिर सबसे कम संख्या)
एक फ़ंक्शन लिखें जो एक पूर्णांक इनपुट ( n
) के रूप में वांछित टिकटों की संख्या लेता है , और लंबाई की सूची में उपलब्ध सर्वोत्तम सीटों का आउटपुट देता है n
।
आपका कार्यक्रम होना चाहिए:
- आउटपुट
-1
अगर 1> इनपुट या इनपुट> 15 * -1
यदि सीटें उपलब्ध नहीं हैं तो आउटपुट *- एक फ़ंक्शन
B(n)
है जिसे उपयोगकर्ता इच्छित संख्या में सीटों के इनपुट के लिए उपयोग कर सकता है।
* यदि आप इसे आसान बनाते हैं तो आप किसी सूची में -1 को आउटपुट कर सकते हैं
उदाहरण
आई / ओ
कॉलिंग B(5)
एक नई सरणी पर लौटना चाहिए [A1, A2, A3, A4, A5]
कॉलिंग B(2)
के बाद कि उसके बाद लौट जाना [A6, A7]
कॉलिंग B(10)
के बाद कि उसके बाद लौट जाना [B1, B2, ... B9, B10]
कॉलिंग B(-1)
हमेशा वापस आ जाएगी-1
अन-गोल्फ सॉल्यूशन पायथन
Theatre = [ [False] * 16 ] * 11
def B(n):
if 0 <= n <= 15:
for i in range(10):
for j in range(15-n+1):
try:
if not Theatre[i][j]:
if not Theatre[i][j + n]:
row = i
start = j
List = []
for q in range(n):
List.append(chr(row + 65) + str(start + q + 1))
Theatre[row][start + q] = True
return List
except:
break
return -1