স্পেস যুক্ত করে একটি পাঠ্যকে ন্যায়সঙ্গত করুন


10

এই পাঠ্য দেওয়া

আপনি এখানে কাজ করতে পারবেন না, তবে এটি ভাল কাজ করতে পারেন, আপনি শ্রম এবং ম্যাগাজিনের মতো কাজ করতে পারেন। আমাদের পক্ষে সবচেয়ে কম ব্যবহার করা উচিত, তবে আমাদের অনুশীলনের জন্য আমাদের শ্রমের উপর নির্ভরশীল হতে হবে। স্বেচ্ছাসেবী গতিরোহণে এই সিলমোহর ডুওর ইউ ফুগিয়েট ন্যূনাল প্যারিয়াটোর হিসাবে কাজ করে। সুনির্দিষ্ট ব্যয় ছাড়াই, আপনি যে শ্রম দিয়ে কাজ করতে পারেন তা নয়।

সংক্ষিপ্ততম প্রোগ্রামটি লিখুন যা একই পাঠ্যটি 80 অক্ষরে যুক্তিসঙ্গতভাবে উত্পন্ন করে produces উপরের পাঠ্যটি অবশ্যই দেখতে হবে:

Lorem ipsum dolor sit amet,  consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut  labore et  dolore magna aliqua.  Ut  enim ad  minim veniam,  quis
nostrud exercitation ullamco laboris nisi ut  aliquip ex  ea  commodo consequat.
Duis aute irure dolor in  reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.  Excepteur sint occaecat cupidatat non proident,  sunt in
culpa qui officia deserunt mollit anim id est laborum.

নিয়মাবলী:

  • শব্দগুলি কাটা উচিত নয়
  • অতিরিক্ত স্থান যোগ করা আবশ্যক
    • একটি বিন্দু পরে
    • কমা পরে
    • সংক্ষিপ্ত শব্দের পরে (বাম থেকে ডানে)
    • ফলাফলের অবশ্যই একটানা 2 টির বেশি স্পেস থাকতে হবে না
  • শেষ লাইনটি ন্যায়সঙ্গত নয়।
  • লাইনগুলি কমা বা বিন্দু দিয়ে শুরু করা উচিত নয়।
  • আপনার প্রোগ্রামের আউটপুট সরবরাহ

বিজয়ী: সংক্ষিপ্ততম প্রোগ্রাম।

দ্রষ্টব্য: ইনপুট স্ট্রিংটি এক লাইন হিসাবে STDIN এ সরবরাহ করা হয় (কোনও লাইন ফিড বা ক্যারেজ রিটার্ন হয় না)

হালনাগাদ:

ইনপুট স্ট্রিং শব্দের দৈর্ঘ্যের যুক্তিযুক্ত (যেমন। 20 ~ 25 চরের বেশি নয়) সহ কোনও পাঠ্য হতে পারে যেমন:

আপনার পছন্দসই কাজটি করতে পারবেন না। অবিবাহিত। সাসপেন্ডিং লেক্টস নির্যাতনকারী, মর্যাদাপূর্ণ সিট, ম্যানুফ্যাকচারিং এনইসি, আলট্রিক্স সেড, ডোর। ক্রস উপাদান আলট্রিক্স ডায়াম। মেসেনাস লিগুলা ম্যাসা, ভ্যারিয়াস এ, সেম্পার কন্টু, ইউজিমড নন, মাইল। প্রিন্ট পোর্টেটিটার, আপনি যদি একাদশ মাইল কাজ করেন তবে তা নিশ্চিত করতে পারবেন না। ডিউস সেম্পার। ডুয়েস আরকি ম্যাসা, দর্শনীয় ভিডিও, ফলস্বরূপ, প্রিমিয়াম এ, এনিম। পেলেনটেস্কি কঙ্গু। ফরাসী টেম্পোরের উপর ভোল্টপ্যাট মুক্ত কাজ করে। ক্র্যাশ ভেসিটিবুলাম বিভেন্ডম আউগুয়েশন। প্রেস্টে ইজেস্টাস লিও পেদে। আপনার জন্য সবচেয়ে খারাপ কাজ। পেলেন্তেস্কে সোডেলগুলি ব্যবহার করা উচিত। ভিজিওবুলের পূর্বে প্রথমবারের মতো ফিউসিবাস লুটিউস এবং আল্ট্রাইকগুলি কিউবিলিয়া কিউরিয়া; অলিকাম নিভ। মরিস এসি মরিস পেড পেলেন্টেস্ক ফেরেন্টাম। মেসেনস অ্যাডিপিসিং অ্যান ডায়াম সোডেলস হেন্ড্রেরিট। মাইক্রোসফট, ম্যাসেজ, গ্রাভিডা এনইসি, মাইক্রোসফট। অ্যানিয়ান ইউটি ওভার ম্যাসি সাসিপিট পুলভিনার। নুলা সলিক্লিউডিন। ফিউস ভেরিয়াস, লিগুলা নন টেম্পস অ্যালিকাম, নুনস টারপিস উল্লামকার্পার নিবিহ, টেম্পাস স্যাপিয়েন ইরোজ ভিটা লাইগুলায়। পেলেন্তেস্কে রোঙ্কস নুনস এবং আউগু। পূর্ণসংখ্যার আইডি ফেলিস। কুরবিতুর অ্যালিকিয়েট পেলেনটেস্ক ডায়াম। পূর্ণসংখ্যার উপায়ে লোগোস্টের সাথে পরিচিত হয়। স্নাতকোত্তর প্যাচসমূহ আপনি উপস্থাপন করতে পারেন। মুরব্বি বা মাইক্রোসফট যানবাহন চলাচল করে না। নুলা এট সাপিয়েন। পূর্ণসংখ্যা নির্যাতনকারী, আলকোম ফ্যাক্স, কনডাল আইডি, কংগ ইও, কয়াম। মাউরিস উল্ল্যামকার্পার ফাইটিং ভিটেইয়েট। প্রিন্ট ফিজিয়্যাটি, অজুগাম অ্যান্টিমেটরিজ পজিশনস, ম্যাকুয়াস লেক্ট লেক্টস এবং ট্রাইস্টিক লিগুলা জাস্টো ভিটাই ম্যাগনা। অ্যালবাম কনফিটস সিলেক্ট সিলেক্ট করুন। আলগাম, ফেরেন্টাম মোলিস, লিগুলা ম্যাসা অ্যাডিস্পেসিং এনিসল, এসই ইউজিমড নিবিজ নিস ইউ ইউ লেক্টাস। সপিয়েন এ ভলপুটেট সেম। ভিভামাস লিও একইভাবে ইউরোপীয় ইমেজম মুক্ত। Nulla Nec Felis sed leo placerat imperdiet। জেনো এনেইন সসিসিপিট নুলা। সাসপেন্ড ক্রস রুট্রাম আউগুয়েজ। নুলা টিনসিডন্ট টিনসিডুন্ট মাইল। কুরবাইটার আইয়াকুলিস, লন্ডন বা রনকস ফ্যাক্সেস, ম্যাগনা ফেরেন্টাম আউগুয়েজ, এবং আলট্রিসি লাকাস লার্জ ভেরিয়াস পার্সেস। কুরবিটুর ইউ এমেট।


3
লোকেরা তাদের প্রোগ্রামের আউটপুট সরবরাহ করতে বলবে কেন? পোস্ট দেওয়ার আগে লোকেরা তাদের ফলাফল যাচাই করতে ব্যর্থ হওয়ায় আপনি কি উদ্বিগ্ন?
পিটার টেলর

1
আমি একটি পিএইচপি প্রোগ্রাম সরবরাহ করতে প্রলুব্ধ করছি যা আউটপুট পাঠ্যকে ধারণ করে। ;-) গুরুতরভাবে যদিও, আউটপুট পাঠ্যের দ্বিতীয় লাইনের ফাঁকা স্থানগুলি এলোমেলোভাবে ফাঁকা স্থানগুলিতে যুক্ত হয়েছে বলে মনে হচ্ছে? এটির জন্য কি এমন কিছু প্যাটার্ন রয়েছে যা আমি দেখছি না, এবং যদি না হয় তবে কীভাবে আমরা প্রদত্ত ইনপুটটির জন্য ঠিক সেই আউটপুট উত্পাদন করতে পারি ?
গ্যারেথ

@ গ্যারেথ: দুঃখিত, আমার খারাপ। আমি ভুল করে ফেলেছি, কমা পরে এসেছি, ইনসিডিন্টের পরে নয়। প্রশ্ন সম্পাদিত।
টোটো

@ পিটার টেইলর: কেবলমাত্র আমি সমস্ত ভাষা পরীক্ষা করতে পারছি না বলে।
টোটো

1
@ ইলমারি করোনেন: হ্যাঁ, ইনপুট স্ট্রিং যে কোনও কিছু হতে পারে।
টোটো

উত্তর:


5

পার্ল, ৯৯ টি চর

for(/(.{0,80}\s)/g){$i=1;$i+=!s/^(.*?\.|.*?,|(.*? )??\S{$i}) \b/$1  /until/
|.{81}/;chop;say}

সাথে চালাও perl -nM5.01। ( nএটি অক্ষর গণনা অন্তর্ভুক্ত করা হয়েছে।)

উপরের কোড সংক্ষিপ্ততম আমি যে হ্যান্ডেল করতে পারে বানাতে পারে হয় কোনো curveballs আমি এটাকে ছুড়ে ফেলে (যেমন একটি লাইন শুরুতে এক অক্ষর শব্দ, ইনপুট লাইন ঠিক 80 অক্ষর দীর্ঘ, ইত্যাদি) ঠিক বৈশিষ্ট অনুযায়ী:

Lorem ipsum dolor sit amet,  consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut  labore et  dolore magna aliqua.  Ut  enim ad  minim veniam,  quis
nostrud exercitation ullamco laboris nisi ut  aliquip ex  ea  commodo consequat.
Duis aute irure dolor in  reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.  Excepteur sint occaecat cupidatat non proident,  sunt in
culpa qui officia deserunt mollit anim id est laborum.

I'm  tempted to  provide a  php  program which consists of  the output text. ;-)
Seriously though,  the spaces on the second line of the output text seem to have
been added to  the spaces at  random? Is  there some pattern to  it that I'm not
seeing,  and if  not,  how can we be expected to produce exactly that output for
the given input?

(অতিরিক্ত মন্তব্য ইনপুট হিসাবে তার মন্তব্যটি ব্যবহার করার জন্য গ্যারেটের কাছে ক্ষমা চেয়েছি))

নিম্নলিখিত 75-চর সংস্করণটি নমুনা ইনপুট থেকে নমুনা আউটপুট উত্পাদন করতে যথেষ্ট ভাল কাজ করে, তবে অন্যান্য ইনপুটগুলির জন্য ব্যর্থ হতে পারে। এছাড়াও, এটি প্রতিটি আউটপুট লাইনের শেষে একটি অতিরিক্ত স্থান অক্ষর রেখে দেয়।

for(/(.{0,80}\s)/g){s/(.*?\.|.*?,|.*? ..) \b/$1  /until/.{81}/||s/
//;say}

উভয় সংস্করণ চিরতরে লুপ হয়ে যাবে যদি তারা ইনপুটটির মুখোমুখি হয় যে তারা সঠিকভাবে প্রমাণ করতে পারে না। (আর সংস্করণে, প্রতিস্থাপন untilসঙ্গে until$i>80||সাত অতিরিক্ত অক্ষর খরচে এটি ঠিক হবে।)


আহ, আমার একটি পারল সমাধান দিয়ে শুরু করা উচিত ছিল ;-) এই ভাষাটি অবশ্যই এই জাতীয় কাজের জন্য খুব ভাল।
হাওয়ার্ড

আমি Quantifier in {,} bigger than 32766 in regex; marked by <-- HERE in m/^(.*?\.|.*?,|(.*? )??\S{ <-- HERE 32767}) \b/দ্বিতীয় পাঠ্য জন্য পেয়েছি ।
টোটো

@ এম 42: এর কারণ দ্বিতীয় উদাহরণ পাঠ্যটি বিধি অনুসারে ন্যায়সঙ্গত হতে পারে না। আমি যদি চেকটিতে যুক্ত করি তবে $i>80এটি 11 তম লাইনটি প্রসারিত করে pede  pellentesque  fermentum.  Maecenas  adipiscing  ante  non  diam  sodales, যা কেবলমাত্র 78 অক্ষর দীর্ঘ, এবং তারপর প্রতিটি শব্দ দুটি (দুটি বাদে) দুটি স্পেস অনুসরণ করার পরে ছেড়ে দেয়।
ইলমারি করোনেন

2

রুবি, 146 টি অক্ষর

$><<gets.gsub(/(.{,80})( |$)/){$2>""?(s=$1+$/;(['\.',?,]+(1..80).map{|l|"\\b\\w{#{l}}"}).any?{|x|s.sub! /#{x} (?=\w)/,'\& '}while s.size<81;s):$1}

প্রদত্ত পাঠ্যটি STDIN এ খাওয়ানো হলে এটি পছন্দসই আউটপুট (নীচে দেখুন) মুদ্রণ করে।

Lorem ipsum dolor sit amet,  consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut  labore et  dolore magna aliqua.  Ut  enim ad  minim veniam,  quis
nostrud exercitation ullamco laboris nisi ut  aliquip ex  ea  commodo consequat.
Duis aute irure dolor in  reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur.  Excepteur sint occaecat cupidatat non proident,  sunt in
culpa qui officia deserunt mollit anim id est laborum.

সম্পাদনা: আমার প্রথম সমাধানটি জমা দেওয়ার ঠিক পরে আমি মন্তব্যে দেখেছি যে কোনও ইনপুট স্ট্রিং প্রক্রিয়া করা প্রয়োজন। পূর্ববর্তী উত্তরটি কেবলমাত্র 95 টি অক্ষর ছিল তবে এই প্রয়োজনীয়তাটি পূরণ করে নি:

r=gets.split;l=0;'49231227217b6'.chars{|s|r[l+=s.hex]+=' '};(r*' ').gsub(/(.{,80}) ?/){puts $1}

যদি আমি ভুল না হয়ে থাকি তবে আপনি একই রকম প্রতারণা ব্যবহার করছেন (উদাহরণস্বরূপ দ্বিগুণ ব্যবধানের শব্দের অবস্থানগুলি এনকোডিং করে)। নোট করুন যে এম 42 স্পষ্ট করে দিয়েছেন যে প্রোগ্রামগুলি অন্যান্য ইনপুটগুলির সাথেও লড়াই করতে পারে।
ইলমারি করোনেন

@ ইলমারি করোনেন হ্যাঁ, আমি তা জমা দেওয়ার পরে দেখেছি। আমার সম্পাদনা এবং উপরে মন্তব্য দেখুন। গল্ফ কোর্সে ফিরে যাচ্ছি ...
হাওয়ার্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.