आप शायद यह जानते हैं कि एक गिलास आधा भरा हुआ है या आधा खाली है । मैं वाक्यांश से थोड़ा थक गया हूं, इसलिए मैंने फैसला किया कि यह ग्लास फुलनेस या खालीपन के बारे में प्रोग्रामिक रूप से इस भ्रम को खत्म करने का समय है।
आपका कार्य एक प्रोग्राम लिखना है जो एक बदसूरत ग्लास का ASCII कला प्रतिनिधित्व लेता है और एक समान अच्छे ग्लास के ASCII कला को आउटपुट करता है । यह भी तय करना है कि कांच है full
, या mostly full
, mostly empty
या empty
आउटपुट के रूप में अच्छी तरह से (किसी भी 4 स्थिर, अलग आउटपुट मान करते हैं)।
टी एल; डॉ
इनपुट एक ग्लास ( #
अक्षर) और तरल ( a-z
) के ASCII कला है जो कांच के अंदर और बाहर यादृच्छिक रूप से वितरित की जाती है। कांच के भीतर तरल नीचे गिरता है और उसके तल पर जमा हो जाता है, इसके बाहर का तरल निकल जाता है। तरल के ASCII कला का उत्पादन तल पर तरल के जमने के बाद होता है। निर्धारित करें कि ग्लास कितना भरा हुआ है और आउटपुट भी।
बदसूरत और अच्छा चश्मा
सामान्य रूप से एक ग्लास एक कंटेनर होता है जिसमें #
नीचे, दो साइड की दीवारें और ऊपर कोई पात्र नहीं होता है।
- वैध चश्मे में छेद नहीं होते हैं। (सभी
#
पात्रों को जोड़ा जाना है।) #
इनपुट ASCII कला की प्रत्येक पंक्ति में या तो कम से कम दो वर्ण होंगे, या कोई भी नहीं। वहाँ बिल्कुल एक के साथ एक पंक्ति नहीं होगी#
।- इनपुट ASCII कला की शीर्ष पंक्ति हमेशा दो होगी
#
। - वैध चश्मे में
#
पात्रों के परिसीमन की दीवार में बिल्कुल एक स्थानीय न्यूनतम होता है । इसका मतलब है कि तरल कहीं फंस नहीं सकता है। - एक गिलास की परिसीमन दीवार में स्थानीय मैक्सिमा नहीं होगी।
#
कांच के नीचे कोई भी नहीं होगा ।- कांच का इंटीरियर हमेशा एक जुड़ा स्थान होगा ।
- इनपुट में प्रमुख / अनुगामी व्हाट्सएप और नए समाचार हो सकते हैं।
मान्य और अमान्य चश्मे के उदाहरण:
VALID (possible input to your program):
# #
# #
####
# #
# #
# #
# #
# #
# #
##
# #
# #
### #
# #
####
# #
# #
# #
# #
# #
########
# #
# #
# ###
# ###
# ###
#####
INVALID (you won't get one of those as input to your program):
# #
# Has a hole.
####
# #
# # This is also considered a hole.
##
# #
# # Less than two # on a line.
#
## #
# # More than two # on the first line.
###
#
# # Less than two # on the first line.
###
# #
# # # More than one local minimum.
# # # # Liquid might get trapped.
### # #
###
# #
# #
#### Interior is not a connected space.
# #
# #
####
# #
# #######
# ### #
# ## # Has a local maximum.
# # #
# #
# #
######
# #
# #
# #
#####
# # <--- # below the bottom of the glass.
# #
# # # This is also a glass with a hole. The #'s aren't all connected.
# # #
# #
#######
एक बदसूरत गिलास तरल के साथ एक गिलास है जो अपने इंटीरियर में चारों ओर तैर रहा है।
- तरल को लोअरकेस अक्षरों द्वारा दर्शाया जाता है
a-z
। #
वर्णों की पहली पंक्ति के ऊपर कोई तरल नहीं होगा । इसका मतलब है कि ग्लास में तरल के गिरने की अनुमति देने की आवश्यकता नहीं है।- कांच के बाहर तरल हो सकता है । बदसूरत कांच को एक अच्छे गिलास में बदलने पर यह तरल पदार्थ निकल जाएगा।
बदसूरत चश्मे के उदाहरण :
# y b # i
x v#p q l# l
a # a zj # p g
g #ppcg c#
u # r n # r
##########
Discard Keep Discard
<-- There will never be liquid above the glass
# tz g#
#y abc # d
av z#ox s # l
c#y abth# b
#vg y rm# a
########
e a b c d <-- Discard this as well (not within interior)
एक अच्छा ग्लास एक ऐसा ग्लास होता है जहाँ सभी तरल तल पर जमा होते हैं।
- नीचे से ऊपर तक, एक अच्छे कांच के इंटीरियर में बहुत सी रेखाएँ होती हैं जो पूरी तरह से अक्षरों से भरी होती हैं, इसके बाद सबसे अधिक एक पंक्ति होती है जो पूरी तरह से अक्षरों से भरी नहीं होती है, और फिर बहुत सी लाइनें खाली होती हैं।
- एक अच्छा कांच के इंटीरियर के बाहर कोई तरल नहीं हो सकता है।
एक बदसूरत गिलास का एक अच्छा गिलास में बदलना
- कांच के अंदर तरल नीचे गिरता है और तल पर जमा होता है।
- कांच के बाहर का तरल निकल जाता है।
- जब एक बदसूरत कांच को एक अच्छे गिलास में परिवर्तित करते हैं, तो उसमें मौजूद सटीक अक्षरों को संरक्षित करना होता है। उदाहरण के लिए, यदि बदसूरत गिलास में तीन
a
है, तो अच्छा गिलास में भी तीन हैa
। (सोडा अचानक पानी में नहीं बदल जाता है।) - अच्छा ग्लास के भीतर के अक्षरों को ऑर्डर करने की आवश्यकता नहीं है।
- कांच के आकार को संरक्षित करना होगा। कोई
#
वर्ण जोड़ा या हटाया नहीं जा सकता है। - व्हाट्सएप के अग्रणी / अनुगामी की कोई भी राशि और नए अंक की अनुमति है।
कांच परिपूर्णता का निर्धारण
- एक ग्लास
full
अगर इसकी पूरी आंतरिक जगह अक्षरों से भर जाती है। - यह है
mostly full
यदि आंतरिक स्थान का 50% या अधिक भरा है। - यह
mostly empty
अगर आंतरिक अंतरिक्ष के 50% से कम भर जाता है। empty
अगर ग्लास में कोई अक्षर नहीं हैं तो यह है ।- ASCII आर्ट ग्लास और फुलनेस आउटपुट के बीच अतिरिक्त न्यूलाइन्स और स्पेस की कोई संख्या हो सकती है।
- कार्यक्रम कांच पूर्णता के 4 स्तरों के लिए किसी भी विशिष्ट (लेकिन स्थिर!) मूल्यों का उत्पादन कर सकता है, इसे ऊपर दिए गए सटीक तारों को प्रिंट करने की आवश्यकता नहीं है। कृपया निर्दिष्ट करें कि कौन सा मान किस पूर्णता स्तर का प्रतिनिधित्व करता है।
I / O उदाहरण
Example 1 input:
# y b # i
x v#p q l# l
a # a zj # p g
g #ppcg c#
u # r n # r
##########
Example 1 output:
# #
# #
# #
#ppcglqb #
#yprazjnc#
##########
mostly empty
Example 2 input:
# tz g#
#y abc # d
av z#ox s # l
c#y abth# b
#vg y rm# a
########
e a b c d
Example 2 output:
# #
# bc #
#oxysa#
#ygabth#
#vgtyzrm#
########
mostly full
Example 3 input:
# #
# g # f
###ih # d
a c # # e
b ####
Example 3 output:
# #
# #
### g#
#hi#
####
mostly empty
Example 4 input:
#ab#
#cd#
####
Example 4 output:
#cb#
#da#
####
full
Example 5 input:
# # h
# #
a # # g
b# # f
c # #
# # e
d ##
Example 5 output:
# #
# #
# #
# #
# #
# #
##
empty
Example 6 input:
# b az#
#y s ###
###### t
l u
Example 6 output:
# z #
#ybsa###
######
mostly full
Example 7 input:
# # g
# b #f
# c###
#da ### i
# e###
##### h
Example 7 output:
# #
# #
# ###
#de ###
#abc###
#####
mostly empty
विविध
- यह कोड गोल्फ है इसलिए सबसे कम उत्तर जीतता है।
- यदि संभव हो, तो कृपया एक ऑनलाइन दुभाषिया को एक लिंक प्रदान करें जिसका उपयोग आपके प्रोग्राम को दिए गए उदाहरण इनपुट पर चलाने के लिए किया जा सकता है, उदाहरण के लिए tio .run