कार्य
आपका कार्य अपनी पसंद की भाषा में एक समारोह या एक कार्यक्रम लिखना है जो कुछ बयानों का विश्लेषण करता है और यह निर्धारित करता है कि क्या उन बयानों से यह निष्कर्ष निकाला जा सकता है कि सूअर उड़ने में सक्षम हैं।
इनपुट
इनपुट एक स्ट्रिंग है जिसे STDIN से पढ़ा जा सकता है, एक फ़ंक्शन तर्क के रूप में लिया जाता है या एक फ़ाइल में संग्रहीत किया जा सकता है। निम्नलिखित EBNF का उपयोग करके इनपुट का वर्णन किया जा सकता है:
input = statement , {statement};
statement = (("Pigs are ", attribute) | ("Everything that is ", attribute, "is also ", attribute)), ". ";
attribute = [not], ("able to fly" | singleAttribute);
singleAttribute = letter, {letter};
letter = "a" | "b" | "c" | "d" | "e" | "f" | "g"
| "h" | "i" | "j" | "k" | "l" | "m" | "n"
| "o" | "p" | "q" | "r" | "s" | "t" | "u"
| "v" | "w" | "x" | "y" | "z" ;
उदाहरण इनपुट (नीचे अधिक उदाहरण देखें):
Pigs are green. Everything that is green is also intelligent. Everything that is able to fly is also not intelligent. Pigs are sweet.
उत्पादन
आउटपुट आपके फ़ंक्शन द्वारा वापस किया जा सकता है, फ़ाइल में लिखा जा सकता है या STDOUT में प्रिंट किया जा सकता है। 5 अलग-अलग मामलों को संभाला जाना है:
- दिए गए कथन मान्य, सुसंगत हैं और तार्किक परिणाम के रूप में हैं जो सूअर उड़ सकते हैं। उस स्थिति में, आपको आउटपुट करना होगा
Yes
। - दिए गए कथन मान्य हैं, सुसंगत हैं और तार्किक परिणाम के रूप में हैं कि सूअर उड़ नहीं सकते हैं। उस स्थिति में, आपको आउटपुट करना होगा
No
। - यह दिए गए, मान्य और सुसंगत बयानों से निष्कर्ष नहीं निकाला जा सकता है कि सूअर उड़ सकते हैं या नहीं। उस स्थिति में, आपको आउटपुट करना होगा
Maybe
। - दिए गए कथन मान्य हैं, लेकिन सुसंगत नहीं हैं (अर्थात दिए गए कथनों में विरोधाभास है)। चूंकि एक्स फाल्सो क्वॉडलिबेट है , हम
Yes
उस मामले में आउटपुट का फैसला करते हैं । - दिए गए कथन मान्य नहीं हैं, अर्थात वे दिए गए EBNF के अनुसार प्रारूपित नहीं हैं। उस स्थिति में, आप जो चाहें कर सकते हैं।
विवरण
- आप मान सकते हैं कि दी गई विशेषताएँ एक-दूसरे से स्वतंत्र हैं। इसलिए, उदाहरण के लिए, एक सूअर युवा और बूढ़ा, हरा, लाल और नीला हो सकता है, बिना किसी असंगति के। हालांकि, एक सुअर एक ही समय में 'हरा' और 'हरा नहीं' हो सकता है, यह एक विरोधाभास है और इसे (4) में वर्णित किया जाना चाहिए।
- हर विशेषता के लिए, मान लें कि ब्रह्मांड में कम से कम एक ऑब्जेक्ट (जरूरी नहीं कि एक सुअर) है जिसमें दी गई विशेषता है, और एक ऑब्जेक्ट जिसमें यह नहीं है।
उदाहरण इनपुट और आउटपुट
इनपुट:
Pigs are green. Everything that is green is also intelligent. Everything that is able to fly is also not intelligent.
आउटपुट: चूंकि सूअर हरे होते हैं और इसलिए बुद्धिमान होते हैं, और जो कुछ उड़ने में सक्षम है वह बुद्धिमान नहीं है, सूअर उड़ नहीं सकते हैं। आउटपुट है No
।
इनपुट:
Pigs are old. Everything that is not able to fly is also not old.
आउटपुट: यदि सूअर उड़ने में सक्षम नहीं थे, तो वे भी पुराने नहीं थे। लेकिन जैसा कि वे पुराने हैं, आपको आउटपुट करना होगा Yes
।
इनपुट:
Everything that is sweet is also not old. Everything that is intelligent is also blue.
आउटपुट: Maybe
।
इनपुट:
Pigs are not able to fly. Everything that is red is also sweet. Everything that is sweet is also not red.
आउटपुट: हालांकि पहला कथन यह बताता है कि सूअर उड़ नहीं सकते, निम्नलिखित कथन एक दूसरे के विपरीत हैं और इसलिए आउटपुट होना चाहिए Yes
।
इनपुट:
Pigs are very smart. Pigs are able to fly.
आउटपुट: जो कुछ भी आप चाहते हैं, जैसा कि स्ट्रिंग ऊपर उल्लिखित मानदंडों से मेल नहीं खाती है।
विजेता
यह कोड-गोल्फ है , इसलिए सबसे छोटा सही उत्तर (बाइट्स में) जीतता है। पहला सही उत्तर पोस्ट किए जाने के एक सप्ताह बाद विजेता को चुना जाएगा।