एक बहुत ही उत्कृष्ट प्रमाण, बहुत छोटा है-


12

आप घर पर बैठते हैं, अपने हाथों को सबसे खराब फैशन में रगड़ते हैं। इस बार, मैं समुदाय A-SPIN सेट कर सकूंगा! मैं केवल यह दावा करूंगा कि मैंने इस पुस्तक के अंदर इस समस्या को (जो कि कोई संदेह नहीं है) सिद्ध किया है ... आप पहले प्रासंगिक पृष्ठ पर जाते हैं। आप उन शब्दों का परिमार्जन करते हैं ...

आप निश्चित रूप से, बुराई Fermat हैं! हा हा! बस मजाक कर रहा हूँ। तुम्हें पता है कि यह इस तरह नहीं हुआ; यह केवल उसकी बुराई जुड़वां, स्वरूप का आख्यान है। यहाँ प्रारूप अपने "प्रमाण" को मार्जिन में समेटने के लिए बहुत आलसी है। इसलिए उसने आपके लिए इसे करने का आह्वान किया है।

उद्देश्य एक प्रमाण (स्ट्रिंग), और एक पृष्ठ (पाठ ब्लॉक) को देखते हुए, सबूत को मार्जिन में "लिखें"।

मान्य पृष्ठ नियम

एक टेक्स्ट ब्लॉक में एक पेज होता है यदि और केवल अगर यह निम्नलिखित आवश्यकताओं को पूरा करता है:

  • ऊपर और नीचे की सीमाएं फॉर्म की हैं -{10,}\+$(नियमित अभिव्यक्ति -कम से कम दस बार तक +, फिर रेखा के अंत तक)।
  • प्रत्येक गैर-शीर्ष और गैर-निचला रेखा को एक के साथ समाप्त होना चाहिए |। ऐसी कम से कम एक लाइन होगी।
  • |प्रत्येक पंक्ति में अंतिम से कम से कम पाँच स्थान होंगे ।
  • सभी लाइनें समान चौड़ाई वाली हैं।

तो निम्नलिखित एक वैध पृष्ठ है (यह .दिखाने के लिए कि अधिकतम सीमा सीमा कहाँ है):

-----------------+
Lorem Ipsum.     |
and other  .     |
latin crud .     |
           .     |
        EOF.     |
-----------------+

यहाँ एक और पेज है जिसका एक व्यापक मार्जिन है:

------------------------+
Hello world!   .        |
How are you, to.        |
day? --Mme. B  .        |
               .        |
------------------------+

आपको दिए गए स्ट्रिंग को मार्जिन में लिखना है, उन शब्दों को बनाए रखना जो आप कर सकते हैं, जहां तक ​​आप कर सकते हैं। उदाहरण के लिए, यदि helloअगली पंक्ति में फिट बैठता है, तो इसे वर्तमान लाइन पर न तोड़ें।

मैं / ओएस

भरण पाठ

Proof: This is a most excellent proof, too small for anyone!
Text:                       ; not a leading newline
------------------------+
Hello world!            |
How are you, to         |
day? --Mme. B           |
                        |
------------------------+
Output: 
------------------------+
Hello world!    This a  |
How are you, to most    |
day? --Mme. B   excellen|
                t proof,|
------------------------+    

Proof: Execute the member as an example to the others!
Text:
------------------------------------------------+
Contrary to popular belief, Lorem               |
Ipsum is not simply random text.                |
It has roots in a piece of classical            |
Latin literature from 45 BC, making             |
it over 2000 years old. Richard                 |
McClintock, a Latin professor at                |
Hampden-Sydney College in Virginia,             |
looked up one of the more obscure               |
Latin words, consectetur, from a                |
Lorem Ipsum passage, and going through          |
the cites of the word in classical              |
literature, discovered the undoubtable          |
source. Lorem Ipsum comes from...               |
------------------------------------------------+
Output:
------------------------------------------------+
Contrary to popular belief, Lorem      Execute  |
Ipsum is not simply random text.       the      |
It has roots in a piece of classical   member as|
Latin literature from 45 BC, making    an       |
it over 2000 years old. Richard        example  |
McClintock, a Latin professor at       to the   |
Hampden-Sydney College in Virginia,    others!  |
looked up one of the more obscure               |
Latin words, consectetur, from a                |
Lorem Ipsum passage, and going through          |
the cites of the word in classical              |
literature, discovered the undoubtable          |
source. Lorem Ipsum comes from...               |
------------------------------------------------+

Proof: Consider supercalifragilisticexpialidocious. Therefore, x.
Output:
-----------------------------------------+
sections 1.10.32 and                     |
1.10.33 of "de Finibus                   |
Bonorum et Malorum"                      |
(The Extremes of Good                    |
and Evil) by Cicero,                     |
written in 45 BC. This                   |
book is a treatise on                    |
the theory of ethics,                    |
very popular during the                  |
Renaissance. The first                   |
line of Lorem Ipsum,                     |
"Lorem ipsum dolor sit                   |
amet..", comes from a                    |
line in section 1.10.32.                 |
-----------------------------------------+
Output: Consider supercalifragilisticexpialidocious. Therefore, x.
-----------------------------------------+
sections 1.10.32 and     Consider        |
1.10.33 of "de Finibus   supercalifragili|
Bonorum et Malorum"      sticexpialidocio|
(The Extremes of Good    us. Therefore, x|
and Evil) by Cicero,     .               |
written in 45 BC. This                   |
book is a treatise on                    |
the theory of ethics,                    |
very popular during the                  |
Renaissance. The first                   |
line of Lorem Ipsum,                     |
"Lorem ipsum dolor sit                   |
amet..", comes from a                    |
line in section 1.10.32.                 |
-----------------------------------------+

Proof: Alex is a bird. All birds can fly. All things that fly are wrong. Ergo, Alex is wrong.
Text:
----------+
Sorry     |    ; 5 spaces. 
----------+
Output:
----------+
Sorry Alex|
----------+

यह एक , इसलिए बाइट्स में सबसे छोटा कार्यक्रम जीत जाता है!


लीडरबोर्ड


कोडगुल्फ़ के लिए थोड़ा नया, क्या मैं पेज और फाइलों से सबूत ले सकता हूं? या क्या उन्हें उपयोगकर्ता I / O से आना होगा?
wnnmaw

@wnnmaw गोल्फ में आपका स्वागत है! यदि यह बेहतर है, तो आप किसी फ़ाइल से पढ़ना चुन सकते हैं।
कॉनर ओ'ब्रायन


@Mego काफी नहीं है। यह आपको "मार्जिन" पहचानना चाहता है, इसके अलावा; वह पाठ उचित ही हुआ होगा, केवल विभाजित नहीं हुआ होगा।
कॉनर ओ'ब्रायन

खैर, मुझे lorem ipsum के बारे में सिखाने के लिए धन्यवाद। : पी
R

जवाबों:


4

अजगर 2, 334

p=open("f.txt",'r').readlines()
r,S,p=p[0][7:],p[2].strip(),p[3:-1]
import textwrap as t,itertools as i
m,l=max([len(s[:-5].strip()) for s in p]),len(S)-2
P = i.izip_longest(["{} {{:{}}}|".format(s[:m],l-m) for s in p],t.wrap(r,l-m),fillvalue="")
print S
for q in P:
 if not q[0]:break
 print q[0].format(q[1])
print S

नमूना IOf.txt कोड आउटपुट द्वारा पीछा की सामग्री के साथ

मामला एक

Proof: This is a most excellent proof, too small for anyone!
Text:                       
------------------------+
Hello world!            |
How are you, to         |
day? --Mme. B           |
                        |
------------------------+

------------------------+
Hello world!    Proof:  |
How are you, to This is |
day? --Mme. B   a most e|
                xcellent|
------------------------+

केस 2

Proof: Consider supercalifragilisticexpialidocious. Therefore, x.
Output:
-----------------------------------------+
sections 1.10.32 and                     |
1.10.33 of "de Finibus                   |
Bonorum et Malorum"                      |
(The Extremes of Good                    |
and Evil) by Cicero,                     |
written in 45 BC. This                   |
book is a treatise on                    |
the theory of ethics,                    |
very popular during the                  |
Renaissance. The first                   |
line of Lorem Ipsum,                     |
"Lorem ipsum dolor sit                   |
amet..", comes from a                    |
line in section 1.10.32.                 |
-----------------------------------------+

-----------------------------------------+
sections 1.10.32 and     Consider superca|
1.10.33 of "de Finibus   lifragilisticexp|
Bonorum et Malorum"      ialidocious.    |
(The Extremes of Good    Therefore, x.   |
and Evil) by Cicero,                     |
written in 45 BC. This                   |
book is a treatise on                    |
the theory of ethics,                    |
very popular during the                  |
Renaissance. The first                   |
line of Lorem Ipsum,                     |
"Lorem ipsum dolor sit                   |
amet..", comes from a                    |
line in section 1.10.32.                 |
-----------------------------------------+

केस 3

Proof: Alex is a bird. All birds can fly. All things that fly are wrong. Ergo, Alex is wrong.
Text:
----------+
Sorry     |   
----------+

----------+
Sorry Alex|
----------+

जब एक शब्द दिया जाता है जो बाकी एक पंक्ति में फिट नहीं होता है, तो आपके कार्यक्रम को इसे अगली पंक्ति में रखना चाहिए।
कॉनर ओ'ब्रायन

आप इस तरह से प्रदर्शन नहीं करते हैं, तो आप कहां देखते हैं?
wnnmaw

अपने पहले उदाहरण में, "उत्कृष्ट" को अगली पंक्ति में रखा जाना चाहिए; अपने दूसरे उदाहरण में, "सुपरका" को भी अगली पंक्ति में रखा जाना चाहिए। वहाँ अस्पष्टता के लिए खेद है।
कॉनर ओ'ब्रायन

1
लेकिन "उत्कृष्ट" अगली पंक्ति पर फिट नहीं होता है, इसे किसी भी तरह से तोड़ना होगा इसलिए मैं यह नहीं देखता कि यह नियमों के साथ असंगत नहीं है क्योंकि वे वर्तमान में लिखे गए हैं। मुझे वर्तमान में कोड को लागू करने का कोई तरीका नहीं पता है जैसा कि आप अब
बता

2
आपके पास एक बिंदु है, यह है कि यह कैसे शब्द है। मेरी गलती पूरी तरह से, आपका कोड ठीक है।
कॉनर ओ'ब्रायन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.