একটি খুব ভাল প্রমাণ, fi— থেকে খুব ছোট!


12

আপনি বাড়িতে বসে, সবচেয়ে খারাপ ফ্যাশনে আপনার হাত ঘষে। এবার আমি সম্প্রদায়টি এ-স্পিন সেট করতে সক্ষম হব! আমি কেবল দাবি করব যে এই বইয়ের ভিতরে আমি এই সমস্যাটি প্রমাণ করেছি (যা কোনও সন্দেহের মতোই অসম্ভব নয়) ... আপনি প্রথম প্রাসঙ্গিক পৃষ্ঠায় খুলুন। আপনি এই শব্দগুলি স্ক্রল করুন ...

আপনি অবশ্যই খারাপ ফর্ম্যাট! হা হা মজা করছিলাম. আপনি জানেন যে এটি এমন হয় নি; এটি কেবল তাঁর দু'জন দু'পক্ষের ফর্ম্যাট-এর বিবরণ। এখানে তার ফর্ম্যাটটি তার "প্রমাণ" মার্জিনে ঘনীভূত করতে খুব অলস। তাই তিনি আপনাকে তাঁর জন্য এটি করার আহ্বান জানিয়েছেন।

উদ্দেশ্য একটি প্রমাণ (স্ট্রিং), এবং একটি পৃষ্ঠা (পাঠ্য ব্লক) দেওয়া হয়েছে, প্রমানের মার্জিনে "লিখুন"।

বৈধ পৃষ্ঠা নিয়ম

একটি পাঠ্য ব্লকে একটি পৃষ্ঠা থাকে এবং কেবল যদি এটি নিম্নলিখিত প্রয়োজনীয়তাগুলি পূরণ করে:

  • উপরের এবং নীচের সীমানাগুলি সেই ফর্মের -{10,}\+$(নিয়মিত অভিব্যক্তি -কমপক্ষে দশ বার একটি হিসাবে A +, তারপরে রেখার শেষ পর্যন্ত)।
  • প্রতিটি নন-টপ এবং নন-নীচের লাইনটি অবশ্যই একটি দিয়ে শেষ হবে |। কমপক্ষে এরকম একটি লাইন থাকবে।
  • |প্রতিটি লাইনে সর্বশেষ থেকে কমপক্ষে পাঁচটি স্পেস থাকবে ।
  • সমস্ত লাইন একই প্রস্থ।

সুতরাং নিম্নলিখিতটি একটি বৈধ পৃষ্ঠা ( .সর্বাধিক মার্জিন সীমানা যেখানে রয়েছে তা দেখানোর জন্য):

-----------------+
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|
----------+

এটি একটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম প্রোগ্রামটি জয়ী!


লিডারবোর্ড


কোডগল্ফে সামান্য নতুন, আমি পৃষ্ঠাটি এবং ফাইলগুলি থেকে প্রমাণ গ্রহণ করতে পারি? অথবা তাদের ব্যবহারকারীর আই / ও থেকে আসতে হবে?
wnnmaw

@nnmaw কোড গল্ফ এ আপনাকে স্বাগতম! যদি এটি আরও ভাল হয় তবে আপনি কোনও ফাইল থেকে পড়তে পছন্দ করতে পারেন।
কনর ও'ব্রায়েন


@ মেগো যথেষ্ট নয় এটি আপনাকে আরও একটি "মার্জিন" স্বীকৃতি দিতে চায়; এই পাঠ্যটি অবশ্যই ন্যায্য হওয়া উচিত, কেবল বিভক্ত নয়।
কনর ও'ব্রায়েন

ঠিক আছে, আমাকে লরেম ইপসাম সম্পর্কে শেখানোর জন্য ধন্যবাদ। : পি
আর

উত্তর:


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

f.txtকোড আউটপুট অনুসরণ করার বিষয়বস্তু সহ আইও নমুনা

মামলা 1

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
তবে "দুর্দান্ত" পরবর্তী লাইনে ফিট করে না, এটি উভয় উপায়েই ভেঙে যেতে হবে তাই এখনই লিখিত আছে বলে আমি দেখতে পাচ্ছি না এটি কীভাবে নিয়মগুলির সাথে অসামঞ্জস্যপূর্ণ। আপনি বর্তমানে বর্ণনা হিসাবে কোডটি প্রয়োগের কোনও উপায় জানেন না
wnnmaw

2
আপনি সেখানে একটি বিন্দু আছে, হয় এটা কিভাবে ভাষায় করা হয়। আমার দোষ পুরোপুরি, আপনার কোড ঠিক আছে।
কনর ও'ব্রায়েন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.