আমরা কোড গল্ফের জন্য অপরিচিত নই, আপনি বিধিগুলি জানেন এবং আমিও তাই করি


252

সংক্ষিপ্ততম প্রোগ্রামটি লিখুন যা রিক অ্যাসলে দ্বারা রচিত "নেভার গোন গিভ ইউ আপ" এর পুরো লিরিক্স মুদ্রণ করে ।

নিয়মাবলী:

  • উপরের পেস্টবিনে যেমন প্রদর্শিত হবে ঠিক তেমন গানের কথা অবশ্যই আউটপুট করতে হবে। এখানে কাঁচা ডাম্প: http://pastebin.com/raw/wwvdjvEj
  • কোনও বাহ্যিক সংস্থার উপর নির্ভর করতে পারে না - সমস্ত লিরিক্স অবশ্যই কোড / এমবেডের মাধ্যমে তৈরি করা উচিত।
  • আপনার কোডটিতে সম্পূর্ণ অ্যালগরিদম অন্তর্ভুক্ত না করে বিদ্যমান সংক্ষেপণ অ্যালগরিদমগুলির (যেমন: gzip / bzip2) ব্যবহার করবেন না।
  • যে কোনও ভাষা, সংক্ষিপ্ততম কোড জয় ব্যবহার করুন।

আপডেট, ১ লা জুন ২০১২:
অ-এসসিআইআই টেক্সটযুক্ত সমাধানগুলির জন্য, আপনার সলিউশনটির আকার ইউটিএফ -8 এনকোডিংয়ের উপর ভিত্তি করে বাইটে গণনা করা হবে। আপনি যদি ইউটিএফ -8 এ এনকোড করা যায় না এমন কোডপয়েন্ট ব্যবহার করেন, তবে আপনার সমাধানটি বৈধ হিসাবে গণ্য হবে না।

আপডেট, 7 ই জুন 2012:
আপনার দুর্দান্ত সমাধানের জন্য আপনাকে সকলকে ধন্যবাদ! আমি আগামীকাল বিকেলে সংক্ষিপ্ত উত্তরটি গ্রহণ করব। এই মুহুর্তে, পিটার টেলরের গল্ফস্ক্রিপ্ট উত্তরটি জিতেছে, তাই আপনি যদি তাকে মারতে চান তবে কিছু উন্নতি ক্র্যাক করুন! :)

* পাস্তবিনে একটি টাইপো রয়েছে (46 লাইন, "জানুন" "পরিচিত" হওয়া উচিত)। আপনি এটির প্রতিলিপি দিতে পারেন বা আপনার বিবেচনার ভিত্তিতে নয়।


4
@ w0lf আপনি সঠিক আমি কেবল তাদের যথার্থতা যাচাই করার জন্য গানের স্ক্যান করেছি, আমি অবশ্যই সেটিকে মিস করেছি। আমি "জানি" বা "জ্ঞাত" হয় গ্রহণ করব
বহুবচন

10
26k + মাত্র 3 দিনের মধ্যে দেখা। বাহ ...
গাফি

9
কীভাবে বিশ্বে এটি এত বেশি ভিউ এবং ভোট তৈরি করেছিল? সে যাই করুক না কেন, আমি এটিকে প্রকৃত বিপরীতে যাচ্ছি।
ফিনোটপিপি

39
@ ফিলনটপিই শুভকামনা বিপরীত প্রকৌশল "জেফ অ্যাটউড আপনাকে টুইট করছেন"।
ব্রেডবক্স

9
ইউটিএফ -8 এর সাথে সীমাবদ্ধতার কোনও অর্থ নেই। আমার কোডটি যদি ইউটিএফ -16 হিসাবে বা লাতিন -১ হিসাবে এনকোড করা হয় তখন ছোট হয়? আপনি হয় বাইট সংখ্যা বা অক্ষরের সংখ্যা গণনা করা উচিত, তবে এনকোডিং লেখক পর্যন্ত ছেড়ে যান।
টিমউই

উত্তর:


81

রুবি 576 557 556 (552) চর ও & পিএইচপি 543 অক্ষর

আর একটি অনুসন্ধান এবং প্রতিস্থাপন সমাধান। মনে রাখবেন যে, সমাধান এই ফর্মটি মূলত একটি ব্যাকরণ ভিত্তিক কম্প্রেশন কোড http://en.wikipedia.org/wiki/Grammar-based_code পরীক্ষা করে দেখুন http://www.cs.washington.edu/education/courses/csep590a/07au সংক্ষেপণের উদাহরণটি বোঝার জন্য একটি সাধারণ জন্য / ইলেক্ট্রেস / ইলেক্টের05small.pdf

আমি প্রতিস্থাপনের নিয়মগুলি লিখেছি যাতে প্রতিটি প্রতিস্থাপনের জন্য প্রারম্ভিক চরিত্রটি গণনা করা হয় (তারা অনুক্রমিক ASCII ক্রমে থাকে); এটি রূপান্তর ডেটাতে উপস্থিত হওয়ার দরকার নেই।

i=44
s="We; n7trangMsL8loT63Ke rules5s8d8I
AJull commit4nt'sChatFKink: of6CHldn'tRetKisJrom<ny@Ruy-/A= if?<sk 42DS'tLE 4?;Lo8bli=L7ee..
O,R1)O,R001)/-.."
"
I justCannaLE?2Gotta >u=Msta=.|
Ng1Nlet? downNrun<rH=5desMt?N>cryNsayRoodbyeNtE< lie5hurt?|

We'T3n each@Jor s8lSg6r hear9<ch: but6;Lo7hyL7BInsideCe both3Cha9Ro: S
We3KeRa45we;QplB|1)O)NgiT, nPgiT
(G|iT? up| howFJeel:
| know|me|<= |
YH|8s|o |t's been|ing|'re| a|nd|make? | yH| othM|A|ay it
| w|D|ell| I'm|G|ou|I| f|Lh| t|er|
NP|
(Ooh|eTrQ|RSna | g|on|ve".scan(/[^|]+/){s.gsub!((i+=1).chr,$&)}
puts s

বাস্তবায়ন নোট

  • উপরের সমাধানটি 556 অক্ষর দীর্ঘ, তবে সোর্স কোড থেকে নিউলাইনগুলি অপসারণের সাথে 552 স্কোর। মূল 556 চর সমাধানের চেয়ে এটি 552 স্কোরের চেয়ে সামান্য ভাল স্কোর।
  • আমি "জানা" এর পরিবর্তে "জ্ঞাত" ব্যবহার করি; এটি আয়াতের পুনরাবৃত্তিটিকে অভিন্ন করে তোলে এবং সংক্ষেপণটি আরও ভাল করা উচিত
  • আমি মূলত নিয়মগুলি বারবার প্রতিস্থাপনের জন্য অনুসন্ধানের মাধ্যমে অনুকূলিত করেছি যা বর্তমান কোডের আকারে সবচেয়ে হ্রাস পেতে পারে yield তবে, আমি দেখতে পেলাম যে রাইডারফ জিরাফের প্রতিস্থাপনের নিয়মগুলি আমার চেয়ে (কিছুটা) ভাল ছিল, তাই এখন আমি তার নিয়মের একটি পরিবর্তিত সংস্করণ ব্যবহার করছি।
  • আমি নিয়মগুলি পুনরায় সাজানোর জন্য সময় ব্যয় করেছি যাতে একক প্রতিস্থাপনের পাসটি সবকিছুকে সংক্রামিত করতে পারে।
  • প্রতিস্থাপনের নিয়মগুলিতে গণিত প্রাথমিক চরিত্রের কারণে, আমার নিয়ম তালিকার একটি স্বতন্ত্র এএসসিআইআই রেঞ্জের প্রতিটি চরিত্রের জন্য একটি নিয়ম রয়েছে। আমি দেখতে পেয়েছি যে কিছু "ডামি" প্রতিস্থাপনের বিধি থাকা সমস্ত বাস্তব বিধি থাকা এবং একটি চূড়ান্ত পাঠ্য স্থির বিকল্পের কোডিংয়ের চেয়ে কোড আকারের পক্ষে ভাল was
  • এই উদাহরণটি যথেষ্ট ছোট যা আপনি সম্ভবত সফলভাবে কোনও প্রোগ্রাম লিখতে পারতেন সর্বোত্তম (সর্বনিম্ন মোট ব্যয়) নিয়মের সেটটি সন্ধান করার জন্য। আমি আশা করব না এটি করার ফলে কিছু বাইটের বেশি আকার হ্রাস পাওয়া যাবে।

পুরানো বাস্তবায়ন

এই পুরানো বাস্তবায়নে 576 টি অক্ষর রয়েছে এবং এটি ইউগোরেনের বাশ / শেড বাস্তবায়ন থেকে প্রতিস্থাপনের নিয়ম দিয়ে শুরু হয়েছিল। সাবস্টিটিউশন ভেরিয়েবলের পুনরায় নামকরণ উপেক্ষা করে, আমার প্রথম 28 টি বিকল্পগুলি উগোরেনের প্রোগ্রামে সম্পাদিত হিসাবে ঠিক একই। সামগ্রিক বাইট গণনা কমাতে আমি আরও কিছু যুক্ত করেছি। এটি সম্ভব কারণ আমার নিয়মগুলি উগোরেনের বাস্তবায়নের চেয়ে বেশি দক্ষতার সাথে প্রতিনিধিত্ব করা হয়েছে।

i=44
puts"WeM noHtraLersB loJ;6 C rules=so do $
& full commitment'sGhat<thinkDof;Gouldn'tKet this fromFny oCrKuy.
-&E if9ask me1~on't @ me:MBo bliEBHee//

3300-.//|
We'J6n each oCr forHo loL;r hear2FchDbut;MBoHhyBH7$nsideGe both6Gha2ADon
We6 CKame=weM>pl7|
$ justGanna @:1#otta 8uEerstaE/|
5?9up5let9down5runFrouE=desert:58cry5sayAodbye5@F lie=hurt:|(Ooh)5?, nI>?
(#4| how<feeliL
|t's been|(Ooh,K4|iJ9up)
|
NI>| know|ay it
|make9|: | you|
You| $'m |FE |Anna |giJ|tell|Ko| to|the|iL |nd| a| w| s|eJr|ve| g|ng|'re".split("|").inject{|m,o|m.gsub((i+=1).chr,o)}.tr('&~#$',"ADGI")

আমি এটিতে প্রতিস্থাপনের নিয়মগুলি অনুকূল করার চেষ্টা করিনি।

প্রতিযোগিতা নোট

অনুসন্ধান এবং প্রতিস্থাপন ডিকম্প্রেশন স্কিম এই প্রতিযোগিতার জন্য ভাল কাজ করে কারণ বেশিরভাগ ভাষায় প্রাক-নির্মিত রুটিন রয়েছে যা এটি করতে পারে। এত স্বল্প পরিমাণে পাঠ্য উত্পন্ন করতে গেলে জটিল ডিকম্প্রেশন স্কিমগুলি সম্ভাব্য বিজয়ী বলে মনে হয় না।

আমি কেবল এএসসিআইআই পাঠ্য ব্যবহার করেছি এবং অ-প্রিন্টেবল এএসসিআইআই অক্ষরগুলিও ব্যবহার করা এড়ানো করেছি। এই বিধিনিষেধগুলির সাথে, আপনার কোডের প্রতিটি অক্ষর কেবলমাত্র সর্বোচ্চ 6.6 বিট অবধি তথ্য উপস্থাপন করতে পারে; এটি বাস্তব সংকোচনের কৌশলগুলির তুলনায় খুব আলাদা যেখানে আপনি সমস্ত 8 বিট ব্যবহার করেন। কিছুটা অর্থে, gzip / bzip2 কোড আকারের সাথে তুলনা করা "ন্যায্য" নয় কারণ এই অ্যালগরিদমগুলি সমস্ত 8 বিট ব্যবহার করবে। কোনও ফ্যানসিয়ার ডিকম্প্রেশন অ্যালগরিদম সম্ভব হতে পারে যদি আপনি আপনার স্ট্রিংগুলিতে traditionতিহ্যগতভাবে অপ্রিনিত ASCII অন্তর্ভুক্ত করতে পারেন এবং প্রতিটি অচিহ্নিত অক্ষর এখনও আপনার কোডটিতে একটি বাইট হিসাবে লেখা থাকে।

পিএইচপি সমাধান

<?=str_replace(range('-',T),split(q,"
I justCannaLE?2Gotta >u=Msta=.q
Ng1Nlet? downNrun<rH=5desMt?N>cryNsayRoodbyeNtE< lie5hurt?q

We'T3n each@Jor s8lSg6r hear9<ch: but6;Lo7hyL7BInsideCe both3Cha9Ro: S
We3KeRa45we;QplBq1)O)NgiT, nPgiT
(GqiT? upq howFJeel:
q knowqmeq<= q
YHq8sqo qt's beenqingq'req aqndqmake? q yHq othMqAqay it
q wqDqellq I'mqGqouqIq fqLhq tqerq
NPq
(OohqeTrQqRSna q gqonqve"),"We; n7trangMsL8loT63Ke rules5s8d8I
AJull commit4nt'sChatFKink: of6CHldn'tRetKisJrom<ny@Ruy-/A= if?<sk 42DS'tLE 4?;Lo8bli=L7ee..
O,R1)O,R001)/-..");

উপরের সমাধানটি পিএইচপিটিকে "একটি দু: খিত ছেলে" থেকে নেওয়া এবং এটি আমার প্রতিস্থাপনের নিয়মের সাথে একত্রিত করে। পিএইচপি উত্তর সবচেয়ে সংক্ষিপ্ত decompression কোড আছে। Http://ideone.com/XoW5t দেখুন


আমার sedসমাধান অবশ্যই এটি পরাজিত করতে পারে না। আমি এমন কিছু নিয়ে কাজ করছি যা আশা করি একটি সুযোগ রয়েছে - আপনার 75 বাইট ওভারহেড রয়েছে, সম্ভবত আমি এটি কেটে ফেলব (রুবিতে নয়)।
উগোরেন

আমি আপনার প্রোগ্রামে 555 বাইট খুঁজে পাই (কোনও পেছনের নিউলাইন ছাড়াই)।
মাঝামাঝি

1
ওপি'র স্কোরিং পদ্ধতিটি হ'ল এসকি সোর্স কোডে নতুন লাইন বিভাজককে বাদ দেওয়া, সুতরাং এটি 554 স্কোর করা উচিত বলে মনে হয় ।
মাঝামাঝি

দুর্দান্ত সমাধান! :)
বহুবর্ষীয়

মনে হচ্ছে সংক্ষিপ্ততম ডিকম্প্রেশন কোডটি পিএইচপি-তে ছিল। এখানে একটি 543 বাইট সমাধান (আমার নিয়মগুলি, "একটি দুঃখী বন্ধু" থেকে কোড স্নিপেট ব্যবহার করে) আদর্শ one.com/XoW5t
এড এইচ।

73

বাশ / সেড, 705 650 588 582 অক্ষর

যুক্তি :
মূল ধারণাটি সহজ প্রতিস্থাপন। পরিবর্তে লেখার, উদাহরণস্বরূপ, Never gonna give you up\nNever gonna let you down, আমি লিখি Xgive you up\nXlet you downএবং সমস্ত প্রতিস্থাপন Xসঙ্গে Never gonna। আকারে নিয়মের একটি সেট নিয়ে
চালিয়ে এটি অর্জন করা sedহয় s/X/Never gonna /g
প্রতিস্থাপনগুলি বাসা বাঁধতে পারে। উদাহরণস্বরূপ, Never gonnaসাধারণ, তবে gonnaঅন্যান্য প্রসঙ্গে। সুতরাং আমি দুটি নিয়ম ব্যবহার করতে পারি: s/Y/ gonna/gএবং s/X/NeverY/g
বিধিগুলি যুক্ত করার সময়, গানের পাঠ্যের অংশগুলি একক অক্ষর দ্বারা প্রতিস্থাপন করা হয়, তাই এটি সংক্ষিপ্ত হয়ে যায়। নিয়মগুলি দীর্ঘতর হয়ে যায়, তবে প্রতিস্থাপনের স্ট্রিংগুলি দীর্ঘ এবং ঘন ঘন হয়ে গেলে এটি মূল্যবান।
পরবর্তী পদক্ষেপটি হ'ল sedআদেশগুলি থেকে পুনরাবৃত্তি সরিয়ে নেওয়া । ক্রমটি s/X/something/gবেশ পুনরাবৃত্তিযোগ্য।
এটি আরও সংক্ষিপ্ত করতে, আমি সেড কমান্ডগুলি দেখতে দেখতে পরিবর্তন করি Xsomething। তারপরে আমি sedএটিকে একটি সাধারণ sedকমান্ডে রূপান্তর করতে ব্যবহার করি । কোডটি sed 's#.#s/&/#;s#$#/g;#করে।
চূড়ান্ত ফলাফলটি হ'ল একটি sedকমান্ড, যার যুক্তিগুলি অন্য sedকমান্ড দ্বারা ব্যাক-কোটে উত্পন্ন হয় ।
আপনি এই লিঙ্কে আরও বিস্তারিত ব্যাখ্যা পেতে পারেন ।

কোড:

sed "`sed 's#.#s/&/#;s#$#/g#'<<Q
LMWe'veKn each o!r for-o longPr hearHzchJbutP're2o-hy2-@Insidexe bothKxhaHCJonMWeK ! game+we'reZpl@
TMI justxanna _UFGotta QuXerstaXR
RM~Squp~letqdown~runzrouX+desertU~Qcry~sayCodbye~_z lie+hurtU
E(Ooh)~S, neverZSM(GV
F how=feelingM
Ht's been
%(Ooh, gV
Vivequp)M
~MNeverZ
K know
@ay itM
Qmakeq
qU 
U you
PMYou
= I'm 
+zX 
ZCnna 
Sgive
_tell
C go
2 to
!the
Jing 
Xnd
z a
x w
- s
M\n`"<<_
We're no-trangers2 lovePK ! rules+so do I
A full commitment'sxhat=thinkJofPxouldn't get this fromzny o!r guyT
LAX ifqask meFDon't _ meU're2o bliX2-eeRRMM%%EELTRR

নোটস:
ডিকম্প্রেশন ইঞ্জিনটি কেবলমাত্র 40 অক্ষর দীর্ঘ। অন্যান্য 543 হ'ল অনুবাদ টেবিল এবং সংক্ষেপিত পাঠ্য। bzip2গানটি 500 বাইটে সঙ্কলন করে (অবশ্যই ইঞ্জিন ব্যতীত), তাই উন্নতির জন্য অবশ্যই জায়গা থাকতে হবে (যদিও আমি দেখতে পাচ্ছি না আমি কীভাবে হাফম্যান এনকোডিং বা এতো সস্তা এই জাতীয় কিছু যুক্ত করব)।
<<Q(বা <<_) প্রদত্ত অক্ষর না হওয়া পর্যন্ত পড়তে ব্যবহৃত হয়। তবে স্ক্রিপ্টের শেষ (বা ব্যাককোটি এক্সপ্রেশন) যথেষ্ট ভাল। এটি কখনও কখনও একটি সতর্কতা সৃষ্টি করে।

পুরানো এবং সহজ সমাধান, 6 666 অক্ষর:

sed "
s/L/ MWe'veKn each other for so longMYour heart's been aching butMYou're too shy to say itMInside we bothK what's been going onMWeK the game+we'reZplay itM/;
s/T/MI just wanna tellU how I'm feelingMGotta makeU understandR/;
s/R/M ~giveU up~letU down~run around+desertU~makeU cry~say goodbye~tell a lie+hurtU/g;
s/E/(Ooh)~give, neverZgiveM(GV/g;
s/V/iveU up)M/g;
s/U/ you/g;
s/+/ and /g;
s/K/ know/g;
s/~/MNeverZ/g;
s/Z/ gonna /g;
s/M/\n/g
"<<Q
We're no strangers to love
YouK the rules+so do I
A full commitment's what I'm thinking of
You wouldn't get this from any other guyT
LAnd ifU ask me how I'm feeling
Don't tell meU're too blind to seeRRM M(Ooh, gV(Ooh, gVEEL TRR

এটি দুর্দান্ত, তবে আপনার আউটপুটে ফাঁকা রেখায় একটি অতিরিক্ত স্পেস অক্ষর রয়েছে। পেস্টবিন থেকে কাটা-পেস্ট নিয়ে সমস্যা হতে পারে? এছাড়াও, আপনার \0সাথে প্রতিস্থাপন করে একটি বাইট সংরক্ষণ করতে সক্ষম হওয়া উচিত &
ব্রেডবক্স

এটি এখন পর্যন্ত সংক্ষিপ্ততম এবং আমার প্রিয় both আমি ভাবছিলাম যে কেউ দীর্ঘমেয়াদী সমাধান নিয়ে আসার আগে এটি কত দিন হবে :)
বহুবর্ষ

@ ব্রেডবক্স, কাট এবং পেস্ট করুন সত্যই এই স্থান নিয়ে এসেছিল। আমি এটি সরিয়েছি, 4 টি অক্ষর সংরক্ষণ করেছি। আপনার &এটি দিয়ে 5 হয়
ugoren

2
@ রিস, আরও ভাল ব্যাখ্যা যুক্ত করেছেন।
ugoren

1
ধন্যবাদ, ESP "আরো বিস্তারিত ব্যাখ্যা" লিঙ্কটি জন্য; O))))
মাঝামাঝি

72

সাদা স্থান - 33115 অক্ষর

স্ট্যাক এক্সচেঞ্জ আমার উত্তরটি চমকে দিয়েছে, উত্সটি এখানে: https://gist.github.com/lucaspiller/2852385

দুর্দান্ত নয় ... আমি মনে করি আমি যদিও এটি কিছুটা সঙ্কুচিত করতে সক্ষম হতে পারি।

(যদি আপনি না জানেন তবে হোয়াইটস্পেসটি কী: http://en.wikedia.org/wiki/Whitespace_( প্রোগ্রামিং_এলংয়েজি )


2
আমি অনুমান করছি আপনি এটিকে হোয়াইট স্পেসে সংকলনের জন্য কোনও সরঞ্জাম ব্যবহার করেছেন?
দুষ্টচাঁদাবাগ

53
আমি কোডগল্ফে দেখেছি দীর্ঘতম সমাধান তৈরি করার জন্য +1।
বহুবর্ষীয়

6
(+1) আমি এটিকে 27,493 বাইটে (বা 25,623 বাইটে স্বল্প-কড়া WS অনুবাদকদের মধ্যে একটি ব্যবহার করতে পারি) কেবল সরাসরি অক্ষর-দ্বারা-অক্ষর প্রক্রিয়াকরণ ব্যবহার করে - মূলত 1,943 "পুশ-ও-আউটপুট" স্টেটমেন্ট পেতে পারি পুনরায় ব্যবহারের জন্য কোনও লাফ, কোনও লুপ, কোনও সাব্রুটাইনস, কোনও স্টোরেজ / পুনরুদ্ধারের মান সহ - যাতে দৈর্ঘ্য এখনও তীব্রভাবে হ্রাস করা যায়।
মাঝামাঝি

39

জাভাস্ক্রিপ্ট, 590 588 বাইট

f="WeP nTstrangersZTloMX^Zhe rules[sTdTIqA fuFcommitment'sEhat I'mZhinkQofXEouldn'tJetZhis from anyRguy{Sn}AH ifCask me_Don'tZeFmexPZoTbliHZTsee~~qU,J`)U,Jzz`)S}{~~~q|g`|letCdown|run arouH[desertx|Lcry|sayJoodbye|teFa lie[hurtx} eachRfor sTlongXr hearVachQbutXPZoTshyZTsKInsideEe both^EhaVgoQonqWe^ZheJame[weP]plK|qNeMr]{qI justEannaZellx_Gotta LuHerstaH~z`)U)|giM, neMr]giMq(GCyouq\n`iMCup_ how I'm feelingq^ know]Jonna [ aH Z tXqYouVt's been Uq(OohTo SqqWe'M^R other Qing P'reMveLmakeCKay itqJ gHndFll E wCx ";for(i in g="CEFHJKLMPQRSTUVXZ[]^_`qxz{|}~")e=f.split(g[i]),f=e.join(e.pop())

স্ট্রিংটি "মুদ্রিত" হওয়ার পথে কিছুটা নির্ভর করে।

https://gist.github.com/2864108


1
সত্যিই উজ্জ্বল।
জিম ব্ল্যাকার

জি-র অতিরিক্ত সদস্য হিসাবে ফাংশনগুলির কারণে ফর লুপ এটি কনসোলে ভেঙে ফেলতে পারে। এটি ঠিক করার if(g.indexOf(g[i])!=-1)আগে যোগ করুন e=
টেসেরেক্স

3
এটি কীভাবে কাজ করে সে সম্পর্কে আমার সামান্যতম ধারণাও নেই ... কী আমরা একটি ব্যাখ্যা পেতে পারি?
স্পিডওয়ার্ডস

1
ব্যবহার with(f.split(g[i]))f=join(pop())মধ্যে for..inলুপ একটি বাইট সংরক্ষণ
ওকি

2
@ স্পেসওয়ার্ডস সম্ভবত এই প্রোগ্রামটি js1k js1k.com/2012-
ওকি

21

সি # 879 816 789 টি অক্ষর

কোডগল্ফের প্রথম প্রয়াস তাই অবশ্যই বিজয়ী নয়, এটি নিশ্চিত যে এটি ঘৃণ্যতার পরেও বৈধ is

string e="N£give, n£give",f="(Give ! up)",g="(Ooh)",h=@"I just wanna tell ! how I'm feeling
Gotta make ! understand",i="(Ooh, give ! up)",j="N£",k=@"We've known each other for so long
Your heart's been aching but
You're too shy to say it
Inside we both know what's been going on
We know the game and we're gonna play it",l="",a=String.Join("\n"+j,l,"give ! up","let ! down","run around and desert !","make ! cry","say goodbye","tell a lie and hurt !"),b=String.Join("\n",@"We're no strangers to love
You know the rules and so do I
A full commitment's what I'm thinking of
You wouldn't get this from any other guy",h,a,l,k,@"And if ! ask me how I'm feeling
Don't tell me !'re too blind to see",a,a,l,i,i,g,e,f,g,e,f,l,k,l,h,a,a,a).Replace("!","you").Replace("£","ever gonna ");

2
+1 "অবশ্যই বিজয়ী নয়" -> কেবলমাত্র আপনি সি # ব্যবহার করার কারণে আপনি ইতিমধ্যে আমার কাছে বিজয়ী। এটি দুর্দান্ত ভাষা! :) বিটিডাব্লু: আপনি সমান চিহ্নগুলির আশেপাশের স্থানগুলি সরিয়ে কিছু অক্ষর সংরক্ষণ করতে পারেন।
ক্রিশ্চিয়ান লুপাস্কু

3
এছাড়াও: পরিবর্তে কিছু var s1="a";var s2="b";ব্যবহার করার চেষ্টা করুন string s1="a",s2="b"; আপনার যদি 2+ ডিক্লেয়ারেশন থাকে তবে এটি খাটো।
ক্রিশ্চিয়ান লুপাস্কু

নেতৃস্থানীয় স্থান রেখে !এবং অন্য কোথাও থেকে বের করে আপনি প্রচুর অক্ষর শেভ করতে পারেন ।
স্ট্যাকস্টাক

17

পাইথন, 597 589 বাইট

অন্য দু'টি বাইট বের করে আনা সম্ভব হতে পারে:

d="""ellU wTay it
S otherRConna Qmake4 PveMndL aK'reJingHt's beenFo E gC
(OohB
Youz txKL q know9
N28 how I'm feelH
7iM4 up66)B)8giM, n2giM
(G5 you4
I justTannaxU47Gotta PuLerstaL03eMrQ2

We'M9n eachR for sElongzr hearFKchH butzJxoEshyxEsSInsideTe both9ThaFCoH on
We9xheCameqweJQplS1
8g68let4 down8runKrouLqdesert48Pcry8sayCoodbye8tUK lieqhurt40WeJ nEstrangersxEloMz9xhe rulesqsEdEI
A full commitment'sThat I'mxhinkH ofzTouldn'tCetxhis fromKnyRCuy31AL if4Ksk me7Don'txU me4JxoEbliLxEsee00
B,C6)B,C556)1300"""
for s in'UTSRQPMLKJHFECBzxq9876543210':a,b=d.split(s,1);d=b.replace(s,a)
print d

2
(+1) খুব সুন্দর। বিটিডাব্লু, আমি 588 বাইট খুঁজে পাচ্ছি না নতুন লাইনের সাথে।
মাঝামাঝি

17

ব্রেইনফাক - 9905

++++++++++[>+>+++>++++>+++++++>+++++++++>++++++++++>+++++++++++>++++++
+++++>++++++++++++<<<<<<<<<-]>>>>>---.>+.<<<-.>>>>>++++.<<.<<<<++.>>>>
>.+.<<<<<.>>>>>>+.+.--.<<----.>-.<++++++.--.>>.+.<<<<<<.>>>>>>+.<+.<<<
<<.>>>>>---.+++.>++.<<.<<<<<.>>>>++.>>.>-.<<<<<<.>>>>>----.+++.+.>>-.<
<<<<<<.>>>>>>-.<<+++.---.<<<<.>>>>>>--.+++.<---.<.>>--.<<<<<<.>>>>----
.>++.<+++.<<<<.>>>>>>.<+.<<<<<.>>>>.>.<<<<<.>>+++.<<<.>>>--------.<<.>
>>>++.>>++.<---..<<<<<.>>>>---.>+++.--..<++++++.>>-.<.<----.>+.>.<<<<<
.>>>>>-.<<<<<<.>>>>>>>.<<<+++.-------.>>+.<<<<<<.>>++++++++.<.>>>>-.<<
<<<.>>>>>>.<<+++++++.+.>+.---.<.>+++.<--.<<<<.>>>>>+.<-.<<<<<.>>>>.>>.
>+.<<<<<<.>>>>>>>.<<.>.<---.<--.>++.<<<<.>>>>>-.<<<<<<.>>>>+++.--.>>.<
<<<<<.>>>>>>.<<+++.+.>>-.<<<<<<.>>>>---.>>-.<+.--.<<<<<.>>>>-----.>+.>
>++.<<<<<<<.>>>>>+.>++.<<+++++++.---.>>--.<<<<<<.>>>>++.>>+++.>.<<<<<<
<<.>>>.<<.>>>>>-----.>.--.+.<<<<<<.>>>>>>>--.<<<------.>++++..<.<<<<.>
>>>>>.<<++++.>--..<<<<<.>>>>>>>++.<<+++.>+.<<<<<<.>>>>+++.>.>>--.<<<<<
<<.>>.<.>>>>--.<<<<<.>>>>--.-..>-.<++++.>++.<--.<<<<<.>>>--.>>>+.>-..<
<------.<<<<.>>>>>--.<.>--.<++++.<<<<.>>>>>>>++.<<++++.>+.<<<<<<.>>>>>
>.<-.<-.+.>>---.+.+.<<----.>.<+++.<<<<<..>>>+++++++.>>+.>>++.<<.>>----
.<<<<<<.>>>>++.>+.-..<------.<<<<.>>>>++++++.++.>>++++.<<----.<<<<.>>>
>>>>.<<+.>-.<<<<<<.>>>>>>.<+.<<<<<<.>>>.>>.>>+.<<.>>----.<<<<<<.>>>>++
.>-.-..<------.<<<<.>>>>>--.<++++.>>++.<<<<<<.>>>>>>>.<<+++.>+.<<<<<<.
>>>>-.>.>>--.<<-.<<<<<<.>>>.>>+.>>+.<<.>>----.<<<<<<.>>>>++.>+.-..<---
---.<<<<.>>>>>>.+++.<.<<<<<.>>>>.>>---.<+.>+++.<-.<+++.<<<<.>>>>---.>.
<+++.<<<<.>>>>.+.>>--.<<.>>-.++.<<<<<<.>>>>>>>++.<<+.>+.<<<<<<<.>>>.>>
.>>+.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<<<.>>>>>-.<.>--.<++++.<<<<
.>>>>>>>.<<++++.>+++.<<<<<<.>>>>--.>>---.>.<<<<<<<<.>>>.>>++.>>++++.<<
.>>----.<<<<<<.>>>>++.>.-..<------.<<<<.>>>>>>+.<<.>>>.<<<<<<<.>>>>+++
+++.>+..<---.--.>>>.<<<+++.<<<<<.>>>.>>.>>+++.<<.>>----.<<<<<<.>>>>++.
>.-..<------.<<<<.>>>>>>++.<<++++.>--..<<<<<.>>>>----.<<<<.>>>>>.<++++
++++.----.<<<<.>>>>----.>++.<+++.<<<<.>>>>++++.>>+.---.++.<<<<<<.>>>>>
>>.<<+.>+.<<<<<<<..>>>>--.>---.<<<.>>>>>+.<<.<<<<.>>>>>----.+++.+.>>--
.<<-.<<<<<.>>>>.----.++.+++++.<<<<.>>>>>+.>--.<<.---.>>--.<<<<<<.>>>>+
.>.>.<<<<<<.>>>>>>+.<.<<<<<.>>>>>---.+++.-.<+.<<<<<.>>>>++.>>+.>++.---
.<<<<<<.>>>>+.---.----.>>.++.<<<<<.>>>>>-.<<<<<<.>>>>+.+++..>-.<<<<<.>
>>>----.++.+++++.+.>.<--.<<<<.>>>>-----.>>++.-.<<<<<<<.>>>>.>>+.>+.<<<
<<.>>>>>---.<<+++.<<<<.>>>>>>++.<..<<<<<.>>>>>>-.<<+++.>>>++.<<<<<<<.>
>>>>>+.<.<<<<<.>>>>>>-.<<-------.>>>.<<<<<<<.>>>>++++++++.>>+.<<<<<<<.
>>>-----.>>>-.>-.<<.-----.+.<<<<.>>>>>>>--.<<<.<<<<.>>>>---.>+.>+.<<++
++++.<<<<.>>>>>----.+++.+.>>.<<<<<<<.>>>>>>>.<<<.-------.>>.<<<<<.>>>>
>-.<<<<<<.>>>>+.+++..>-.<<<<<.>>>>++.>+.<++.>-.<--.<<<<.>>>>>+.-.<<<<<
<.>>>>--.>--.<<<<.>>>>>---.+++.+.>>.<<<<<<<.>>>>>>+.<<+++.---.<<<<.>>>
>++.------.>--.<++++.<<<<.>>>>----.>+.<+++.<<<<.>>>>>>>.<<<+.<<<.>>>>>
--.<<.<<<<.>>>>++.>+.-..<------.<<<<.>>>>>++.----.<.>>>++.<<<<<<<.>>>>
++++++++.>>++.<<<<<<<.>>>--------.>>>++.<-----.<<<<.>>>>+++++.---.<<<<
.>>>>>>>.<<+.>+.<<<<<<.>>>>-----.>>--.<----.<<<<<.>>>>>++.<++++.<<<<.>
>>>+++.>++.>>--.<<<<<<<.>>++++++++.<.>>>>--.<<<<<.>>>>--.-..>-.<++++.>
++.<--.<<<<<.>>>-----.>>>+.-.<<<<.>>>>>+.<<<<<<.>>>>>>.<<--.>--..<<<<<
.>>>>>+.<.<<<<.>>>>>>>++.<<++.>+.<<<<<.>>>>>---.<<.<<<<.>>>>>>++.<..<<
<<<.>>>>---.>---.<+++++++.>++.<-----.<<<<.>>>>>>.<+.<<<<<.>>>>>>-.<<+.
.<<<<<..>>>++++++++++.>>.>>+++.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<
<<.>>>>++++++.++.>>++++.<<----.<<<<.>>>>>>>.<<+.>-.<<<<<<.>>>>>>.<+.<<
<<<<.>>>.>>.>>+.<<.>>----.<<<<<<.>>>>++.>-.-..<------.<<<<.>>>>>--.<++
++.>>++.<<<<<<.>>>>>>>.<<+++.>+.<<<<<<.>>>>-.>.>>--.<<-.<<<<<<.>>>.>>+
.>>+.<<.>>----.<<<<<<.>>>>++.>+.-..<------.<<<<.>>>>>>.+++.<.<<<<<.>>>
>.>>---.<+.>+++.<-.<+++.<<<<.>>>>---.>.<+++.<<<<.>>>>.+.>>--.<<.>>-.++
.<<<<<<.>>>>>>>++.<<+.>+.<<<<<<<.>>>.>>.>>+.<<.>>----.<<<<<<.>>>>++.>.
-..<------.<<<<.>>>>>-.<.>--.<++++.<<<<.>>>>>>>.<<++++.>+++.<<<<<<.>>>
>--.>>---.>.<<<<<<<<.>>>.>>++.>>++++.<<.>>----.<<<<<<.>>>>++.>.-..<---
---.<<<<.>>>>>>+.<<.>>>.<<<<<<<.>>>>++++++.>+..<---.--.>>>.<<<+++.<<<<
<.>>>.>>.>>+++.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<<<.>>>>>>++.<<++
++.>--..<<<<<.>>>>----.<<<<.>>>>>.<++++++++.----.<<<<.>>>>----.>++.<++
+.<<<<.>>>>++++.>>+.---.++.<<<<<<.>>>>>>>.<<+.>+.<<<<<<<..>>>.>>---.>>
+.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<<<.>>>>++++++.++.>>++++.<<---
-.<<<<.>>>>>>>.<<+.>-.<<<<<<.>>>>>>.<+.<<<<<<.>>>.>>.>>+.<<.>>----.<<<
<<<.>>>>++.>-.-..<------.<<<<.>>>>>--.<++++.>>++.<<<<<<.>>>>>>>.<<+++.
>+.<<<<<<.>>>>-.>.>>--.<<-.<<<<<<.>>>.>>+.>>+.<<.>>----.<<<<<<.>>>>++.
>+.-..<------.<<<<.>>>>>>.+++.<.<<<<<.>>>>.>>---.<+.>+++.<-.<+++.<<<<.
>>>>---.>.<+++.<<<<.>>>>.+.>>--.<<.>>-.++.<<<<<<.>>>>>>>++.<<+.>+.<<<<
<<<.>>>.>>.>>+.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<<<.>>>>>-.<.>--.
<++++.<<<<.>>>>>>>.<<++++.>+++.<<<<<<.>>>>--.>>---.>.<<<<<<<<.>>>.>>++
.>>++++.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<<<.>>>>>>+.<<.>>>.<<<<<
<<.>>>>++++++.>+..<---.--.>>>.<<<+++.<<<<<.>>>.>>.>>+++.<<.>>----.<<<<
<<.>>>>++.>.-..<------.<<<<.>>>>>>++.<<++++.>--..<<<<<.>>>>----.<<<<.>
>>>>.<++++++++.----.<<<<.>>>>----.>++.<+++.<<<<.>>>>++++.>>+.---.++.<<
<<<<.>>>>>>>.<<+.>+.<<<<<<<..>>+.>+.>>>.<.<<<++++.<.>>>>-.++.>>+.<<---
-.<<<<.>>>>>>>.<<.>-.<<<<<<.>>>>>>.<+.<<<<---.<<.>>-.>.>>>-.<+++.<<<++
++.<.>>>>-.++.>>+.<<----.<<<<.>>>>>>>.<<.>-.<<<<<<.>>>>>>.<+.<<<<---.<
<.>>-.>.>>>-.<+++.<<<+.<<.>>>-.>>---.>>+.<<.>>----.<<<<<<.>>>>++.>.-..
<------.<<<<.>>>>++++++.++.>>++++.<<----.<<<+++.<.>>>>>.<.>>.<<.>>----
.<<<<<<.>>>>++.>+.-..<------.<<<<.>>>>++++++.++.>>++++.<<----.<<<<<.>>
----.>-------.>>++++.>>.<<----.<<<<.>>>>>>>.<<+.>-.<<<<<<.>>>>>>.<+.<<
<<+.<<.>>-.>++++++++.>>>-.<+++.<<<+.<<.>>>-.>>---.>>+.<<.>>----.<<<<<<
.>>>>++.>.-..<------.<<<<.>>>>++++++.++.>>++++.<<----.<<<+++.<.>>>>>.<
.>>.<<.>>----.<<<<<<.>>>>++.>+.-..<------.<<<<.>>>>++++++.++.>>++++.<<
----.<<<<<.>>----.>-------.>>++++.>>.<<----.<<<<.>>>>>>>.<<+.>-.<<<<<<
.>>>>>>.<+.<<<<+.<<..>>>>.>.<<<--.>>>>>+.<<.<<<<.>>>>>-----.+++.+.>>--
.<<<<<<<.>>>>.----.++.+++++.<<<<.>>>>>.>--.<<.---.>>--.<<<<<<.>>>>+.>.
>.<<<<<<.>>>>>>+.<.<<<<<.>>>>>---.+++.-.<+.<<<<<.>>>>++.>>+.>++.---.<<
<<<<.>>>>+.---.----.>>.++.<<<<<.>>>>>-.<<<<<<.>>>>+.+++..>-.<<<<<.>>>>
----.++.+++++.+.>.<--.<<<<.>>>>-----.>>++.-.<<<<<<<.>>>>.>>+.>+.<<<<<.
>>>>>---.<<+++.<<<<.>>>>>>++.<..<<<<<.>>>>>>-.<<+++.>>>++.<<<<<<<.>>>>
>>+.<.<<<<<.>>>>>>-.<<-------.>>>.<<<<<<<.>>>>++++++++.>>+.<<<<<<<.>>>
++.>>>-.>-.<<.-----.+.<<<<.>>>>>>>--.<<<.<<<<.>>>>---.>+.>+.<<++++++.<
<<<.>>>>>----.+++.+.>>.<<<<<<<.>>>>>>>.<<<.-------.>>.<<<<<.>>>>>-.<<<
<<<.>>>>+.+++..>-.<<<<<.>>>>++.>+.<++.>-.<--.<<<<.>>>>>+.-.<<<<<<.>>>>
--.>--.<<<<.>>>>>---.+++.+.>>.<<<<<<<.>>>>>>+.<<+++.---.<<<<.>>>>++.--
----.>--.<++++.<<<<.>>>>----.>+.<+++.<<<<.>>>>>>>.<<<+.<<<.>>>>>--.<<.
<<<<.>>>>++.>+.-..<------.<<<<.>>>>>++.----.<.>>>++.<<<<<<<.>>>>++++++
++.>>++.<<<<<<<..>>>.<<.>>>>>--.>+.--.+.<<<<<<.>>>>>>>--.<<<--------.>
++++..<.<<<<.>>>>>>.<<++++.>--..<<<<<.>>>>>>>++.<<+++.>+.<<<<<<.>>>>++
+.>.>>--.<<<<<<<.>>.<.>>>>--.<<<<<.>>>>--.-..>-.<++++.>++.<--.<<<<<.>>
>--.>>>+.>-..<<------.<<<<.>>>>>--.<.>--.<++++.<<<<.>>>>>>>++.<<++++.>
+.<<<<<<.>>>>>>.<-.<-.+.>>---.+.+.<<----.>.<+++.<<<<<..>>>+++++++.>>+.
>>++.<<.>>----.<<<<<<.>>>>++.>+.-..<------.<<<<.>>>>++++++.++.>>++++.<
<----.<<<<.>>>>>>>.<<+.>-.<<<<<<.>>>>>>.<+.<<<<<<.>>>.>>.>>+.<<.>>----
.<<<<<<.>>>>++.>-.-..<------.<<<<.>>>>>--.<++++.>>++.<<<<<<.>>>>>>>.<<
+++.>+.<<<<<<.>>>>-.>.>>--.<<-.<<<<<<.>>>.>>+.>>+.<<.>>----.<<<<<<.>>>
>++.>+.-..<------.<<<<.>>>>>>.+++.<.<<<<<.>>>>.>>---.<+.>+++.<-.<+++.<
<<<.>>>>---.>.<+++.<<<<.>>>>.+.>>--.<<.>>-.++.<<<<<<.>>>>>>>++.<<+.>+.
<<<<<<<.>>>.>>.>>+.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<<<.>>>>>-.<.
>--.<++++.<<<<.>>>>>>>.<<++++.>+++.<<<<<<.>>>>--.>>---.>.<<<<<<<<.>>>.
>>++.>>++++.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<<<.>>>>>>+.<<.>>>.<
<<<<<<.>>>>++++++.>+..<---.--.>>>.<<<+++.<<<<<.>>>.>>.>>+++.<<.>>----.
<<<<<<.>>>>++.>.-..<------.<<<<.>>>>>>++.<<++++.>--..<<<<<.>>>>----.<<
<<.>>>>>.<++++++++.----.<<<<.>>>>----.>++.<+++.<<<<.>>>>++++.>>+.---.+
+.<<<<<<.>>>>>>>.<<+.>+.<<<<<<<..>>>.>>---.>>+.<<.>>----.<<<<<<.>>>>++
.>.-..<------.<<<<.>>>>++++++.++.>>++++.<<----.<<<<.>>>>>>>.<<+.>-.<<<
<<<.>>>>>>.<+.<<<<<<.>>>.>>.>>+.<<.>>----.<<<<<<.>>>>++.>-.-..<------.
<<<<.>>>>>--.<++++.>>++.<<<<<<.>>>>>>>.<<+++.>+.<<<<<<.>>>>-.>.>>--.<<
-.<<<<<<.>>>.>>+.>>+.<<.>>----.<<<<<<.>>>>++.>+.-..<------.<<<<.>>>>>>
.+++.<.<<<<<.>>>>.>>---.<+.>+++.<-.<+++.<<<<.>>>>---.>.<+++.<<<<.>>>>.
+.>>--.<<.>>-.++.<<<<<<.>>>>>>>++.<<+.>+.<<<<<<<.>>>.>>.>>+.<<.>>----.
<<<<<<.>>>>++.>.-..<------.<<<<.>>>>>-.<.>--.<++++.<<<<.>>>>>>>.<<++++
.>+++.<<<<<<.>>>>--.>>---.>.<<<<<<<<.>>>.>>++.>>++++.<<.>>----.<<<<<<.
>>>>++.>.-..<------.<<<<.>>>>>>+.<<.>>>.<<<<<<<.>>>>++++++.>+..<---.--
.>>>.<<<+++.<<<<<.>>>.>>.>>+++.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<
<<.>>>>>>++.<<++++.>--..<<<<<.>>>>----.<<<<.>>>>>.<++++++++.----.<<<<.
>>>>----.>++.<+++.<<<<.>>>>++++.>>+.---.++.<<<<<<.>>>>>>>.<<+.>+.<<<<<
<<..>>>.>>---.>>+.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<<<.>>>>++++++
.++.>>++++.<<----.<<<<.>>>>>>>.<<+.>-.<<<<<<.>>>>>>.<+.<<<<<<.>>>.>>.>
>+.<<.>>----.<<<<<<.>>>>++.>-.-..<------.<<<<.>>>>>--.<++++.>>++.<<<<<
<.>>>>>>>.<<+++.>+.<<<<<<.>>>>-.>.>>--.<<-.<<<<<<.>>>.>>+.>>+.<<.>>---
-.<<<<<<.>>>>++.>+.-..<------.<<<<.>>>>>>.+++.<.<<<<<.>>>>.>>---.<+.>+
++.<-.<+++.<<<<.>>>>---.>.<+++.<<<<.>>>>.+.>>--.<<.>>-.++.<<<<<<.>>>>>
>>++.<<+.>+.<<<<<<<.>>>.>>.>>+.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<
<<.>>>>>-.<.>--.<++++.<<<<.>>>>>>>.<<++++.>+++.<<<<<<.>>>>--.>>---.>.<
<<<<<<<.>>>.>>++.>>++++.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<<<.>>>>
>>+.<<.>>>.<<<<<<<.>>>>++++++.>+..<---.--.>>>.<<<+++.<<<<<.>>>.>>.>>++
+.<<.>>----.<<<<<<.>>>>++.>.-..<------.<<<<.>>>>>>++.<<++++.>--..<<<<<
.>>>>----.<<<<.>>>>>.<++++++++.----.<<<<.>>>>----.>++.<+++.<<<<.>>>>++
++.>>+.---.++.<<<<<<.>>>>>>>.<<+.>+.

খুব নিশ্চিত যে আমি এটি সুর করে কিছুটা আরও ভাল করতে পারি তবে এটি আপাতত বেশ ভাল। ধরে নিলাম এটি মূল পাঠ্যের চেয়ে অনেক বড় হওয়াতে আপনার কোনও সমস্যা নেই।


আমি মনে করি পরিবর্তে ইউনারি ব্যবহার করে আপনি কিছুটা গল্ফ করতে পারেন।
রোমান গ্রাফ

এটি গল্ফযোগ্য বলে মনে হচ্ছে ...
মিল্কিওয়ে 90

16

স্কালা, 613 বাইট

print(("""We'r%e %n&o &strangers9 t&9lo#ve#4
You47 know7 [th[%rules0 aZndZ 0s&d&I
A full commitment's what1 I'm 1[ink=ing= of4 wouldn't get [is from any! o[er !guy>
I just wanna <tell<]- ]you-3 how1feel=
3Gotta _make]_uZerstaZ@>
.
Ne#r$./$ gonna /g2i#]up2$let]down$run arouZ0desert-$_cry$say goodbye$< a lie0hurt-@?

We'#7n each!for s&long4r hear;t's been ;ach= but4:'r%to&:shy9say8 it
8Insid%w%bo[7 wha;going on
We7 [%game0we're/play8?AZ if]ask me3Don't < me-:bliZ9see@@

5(Ooh, g2)
556(Ooh)$gi#, ne#r/gi#^
6(G2)^^?>@@
"""/:("!#$%&Z[]^_"++('-'to'@'))){(x,c)=>val y=x.split(c);y(0)+y(1)+y.drop(2).mkString(y(1))}

এটি একটি পাঠ্য সংক্ষেপণ অ্যালগরিদম, পুনরাবৃত্তভাবে রুলটি ~stuff~ blah ~ ~রূপান্তর করতে হবে যা রূপান্তরিত করা উচিত stuff blah stuff stuff(অর্থাত্ প্রথমবার আপনি কোনও অপরিচিত প্রতীক জুটিটি দেখতে পাবে, এটি অনুলিপি করতে হবে কি না তা সীমিত করে দেয়; তারপরে, আপনি এটি দেখলে মানটি পূরণ করেন)।

দ্রষ্টব্য: আপনি কীভাবে গণনা করছেন তার উপর নির্ভর করে শেষে বাড়তি কোনও গাড়ীর রিটার্ন আসতে পারে। যদি এটি অনুমোদিত না হয় তবে আপনি শেষটি কোটটিতে রেখে দিতে পারেন (একটি অক্ষর সংরক্ষণ করে) এবং split(" ",-1)split১। বাইটের জন্য বিভাজনটি (৩ টি অক্ষর ব্যয় করে) পরিবর্তন করতে পারেন ।


খুব সুন্দর. সংক্ষিপ্তসারটি আমার সমাধানের চেয়ে সামান্য ভাল - Nদৈর্ঘ্যের পুনরাবৃত্তির জন্য L, আপনি L+N+1চরগুলি ব্যবহার করেন , যখন আমি ব্যবহার করি L+N+2। কিন্তু আপনার decompression কোড, 102 অক্ষর যখন খনি 40 হয়
ugoren

@ ইউগোরেন - সত্যই; সে ক্ষেত্রে স্কালাল খুব ভার্জোজ এবং এর জন্য> 62 টি উত্পাদনশীল বিকল্প নেই। তবুও, আমি ভেবেছিলাম এটি একটি আকর্ষণীয় পদ্ধতির (যেমনটি আপনার ছিল)।
রেক্স কের

আকর্ষণীয়, তবে আমার জন্য আরপিএলে কাজ করে না। শেষের দিকে আরও একটি বৃত্তাকার সমাপনী বন্ধন প্রয়োজন; কিন্তু তারপর এটি কাজ করে।
ব্যবহারকারী অজানা

14

589, সি (কেবল গ্রন্থাগারের ফাংশন পুটচার)

c,k;main(n){char*s="&-P;nDstrKgQsLlove>@rules<sDdD-i7Rfull commitUnMVtASTkEof> wWldNget Sis from Ky?guy10-XifYask U6doNF U5OblTdLseeG//G442201//&383letYdown3run arWnd<desQt53Bcry3sZ[odbye3F Rlie<hurt5G&7P've:n each?for sDlong>r hear=achEbut>OshyLsH7Tside P boS: V=[Eon7P@gaU<P;CplHG&7i just wKnRF56[ttRBundQstKdG/&J)3I, 9IG(-8)G&79&J, 8)G& yW& howAfeelTg7&G-&IYup&nevQ C& know&'re & X&Mbeen &7yW& oSQ &: Se & -i'm &makeY&[nnR&o &Tg &tell&\n&Zit&give&(-ooh&an& tD&t's &n't &;toD&we&er&a &th&in&me&wha&ou&Kd &5 &ay &go";for(k|=32*!n;c=*s++;c-38?n?0:c-45>48U?k=!putchar(c-k):main(c-45):n--);}
  • প্রতিস্থাপনের নিয়মের সারণী যেখানে রেঞ্জ -.._ (45..90) এর বর্ণগুলি প্রয়োগ করতে হবে তা নির্দিষ্ট করে, সুতরাং কিছু 48 টি নিয়ম (45, c-45> কোডে U48), অন্যান্য অক্ষর মুদ্রিত করতে হয়

  • নিয়মগুলি 'এবং' অক্ষর দ্বারা সীমিত করা হয় (কোডে 38 টি, এনটি শূন্য পর্যন্ত হ্রাস করা হয় এবং এভাবে সঠিক নিয়মের দিকে নির্দেশ করে)

  • বিধি 0 নির্দেশ করে যে পরবর্তী অক্ষরকে মূলধন করা উচিত (কোডে k = 32 সেট করে), এটি নিয়মের জন্য অক্ষরের বৃহত্তর ধারাবাহিক পরিসর যোগ করার জন্য আরও স্থান মুক্ত করে তোলে

  • মেইন (..) কে 1 দিয়ে বলা হয় (শূন্য আর্গুমেন্ট সি প্রোগ্রাম কনভেনশন অনুসারে), এবং এভাবে নিয়ম 1 মূল নিয়ম

কোড বিবর্তন

  • উগোরেনের পরামর্শের জন্য আরও 9 বাইট ছাঁটাই

  • হাতের পরিবর্তে টেবিল অ্যালগোরিদম তৈরি করে এবং "" "টিপের মাধ্যমে আরও 36 বাইট মুণ্ডন করেছেন

  • চর * [] থেকে টেবিলটি একটি একক স্ট্রিংয়ে পরিবর্তিত করে যেখানে আরও & 15 টি বাইট বন্ধ করে দেওয়া হয়েছে যেখানে '&' অংশগুলি সীমিত করে

  • উগ্রোরেনের আরও টিপসের জন্য আরও 19 বাইট শেভ করা হয়েছে

  • আরও বিধি যুক্ত করে শেভ 31 বাইট, মূলধনকে বিশেষ নিয়ম তৈরি করে, এইভাবে নিয়ম সূচকের জন্য আরও স্থানের অনুমতি দেয়।

  • urgoren থেকে আরও টিপস এবং সামান্য কিছু টুইটের নিয়মগুলির জন্য ধন্যবাদ 10 বাইট অফ শেভ


1
*p>>4^3?putchar(*p):e(r[*p-48])
উগোরেন

আহ! আপনাকে ধন্যবাদ, এখন কোড অন্তর্ভুক্ত।
শিশু-খরগোশ

এছাড়াও, "\'"অনুবাদ প্রয়োজন হয় না। "We're"একটি বৈধ স্ট্রিং। ingএকটি ভাল প্রার্থী।
ugoren

সুন্দর পরিবর্তন। বেশ কয়েকটি মানক গল্ফিং কৌশল প্রয়োগ করা যেতে পারে: d(int n)-> d(n)। এটিকে পরিবর্তন *s=='~'করুন *s-'~' and reverse the :: , also saving parenthesis around ! এন? ..: 0 . Using 126 instead of '~' use অকেজো, তবে কেন ~?
ugoren

এছাড়াও, আপনার দুটি ফাংশনের প্রয়োজন নেই - mainপুনরাবৃত্ত করুন। প্রাথমিক কল main(1)পরিবর্তে d(0), কিন্তু এটা (হয়তো একটি নেতৃস্থানীয় মোকাবেলা করা যাবে ~মধ্যে s)। এছাড়াও, এর সর্বোত্তম বিকল্পটি ~হ'ল একটি ট্যাব (ascii 9 - একক সংখ্যা)।
ugoren

14

পার্ল, 724 714 883 বাইট

সুতরাং ল্যাটিন -1 ধরণের ব্যবহারকে দণ্ডযুক্ত বিধিগুলিতে পরিবর্তন আমার সমাধানকে মেরে ফেলল। এটি আলাদা আলাদা পদ্ধতির যে আমি কেবল এটি মুছে ফেলতে ঘৃণা করি, যদিও, এখানে একটি সীমাবদ্ধ সংস্করণ রয়েছে যা কেবলমাত্র নতুন বিধি অনুসারে মাত্র--বিট ASCII ব্যবহার করে আকারের বিশাল বৃদ্ধি।

sub d{($d=$d{$_})?d(@$d):print for@_}sub r{%d=map{chr,($d=pop)&&[$d,pop]}0..96,113..127;&d}r"We^P nEstraKersPElo~^_-SP< 5lesMsEdEI
A3ull commitment's#hat I'mPhink9 of^_#}ldn't^?/Phis3romVny %<r^?uy
I just#azP6UhS I'm3eH9
G%ta +JTerstaT^HX5^D    1^@^U^F^CXt^E^Y^X

We'~-; each %<r3or sEloK^_r <aL's=ee8ch9=ut^_^PPoEshyPE& it
Insi.#e=%h-S#hat's=een|9 on
We-SP<^?am7we^Px pl? it
ARif]Vsk me hS I'm3eH9
Don'tP6 me]^PPoEb*RtE1e^HX5^D   1^@^U^F^CXt^E^Y^X^HX5^D 1^@^U^F^CXt^E^Y^X

(Ooh,FB)
(Ooh,FB)
(Ooh)4, n^F
(GQB)
(Ooh)4, n^F
(GQB)

We'~-; each %<r3or sEloK^_r <aL's=ee8ch9=ut^_^PPoEshyPE& it
Insi.#e=%h-S#hat's=een|9 on
We-SP<^?am7we^Px pl? it

I just#azP6UhS I'm3eH9
G%ta +JTerstaT^HX5^D    1^@^U^F^CXt^E^Y^X^HX5^D 1^@^U^F^CXt^E^Y^X^HX5^D 1^@^U^F^CXt^E^Y^X
g evuoo^?nna{0z|000000xry q~_e}`0^N[
0 Z0a  ]dnwo T~it 00RVtrgnuU0le0Q^? o0]LpJ00yaamb ehnSekKiVnMelHurFZf k es0teedn20:>il000?sto0w 0}Y0!
+XXy}rB4Cu7*^ZhdUr'|&bdMT^[
U^^e^V^QC^W/X^R;^N^Ll0.^S^K^MV6^To ^G^\8ey^]r^Bc^A^O"=~/./gs

অবশ্যই নিয়ন্ত্রণের অক্ষরগুলি এখানে এখনও ম্যাংগলড রয়েছে, সুতরাং আপনি এখনও বেস 64-এনকোডিংটি ব্যবহার করতে চাইবেন:

c3ViIGR7KCRkPSRkeyRffSk/ZChAJGQpOnByaW50IGZvckBffXN1YiByeyVkPW1hcHtjaHIsKCRk
PXBvcCkmJlskZCxwb3BdfTAuLjk2LDExMy4uMTI3OyZkfXIiV2UQIG5Fc3RyYUtlcnNQRWxvfh8t
U1A8IDVsZXNNc0VkRUkKQTN1bGwgY29tbWl0bWVudCdzI2hhdCBJJ21QaGluazkgb2YfI31sZG4n
dH8vUGhpczNyb21WbnkgJTxyf3V5CkkganVzdCNhelA2VWhTIEknbTNlSDkKRyV0YSArSlRlcnN0
YVQIWDUECTEAFQYDWHQFGRgKCldlJ34tOyBlYWNoICU8cjNvciBzRWxvSx9yIDxhTCdzPWVlOGNo
OT11dB8QUG9Fc2h5UEUmIGl0Ckluc2kuI2U9JWgtUyNoYXQncz1lZW58OSBvbgpXZS1TUDx/YW03
d2UQeCBwbD8gaXQKQVJpZl1Wc2sgbWUgaFMgSSdtM2VIOQpEb24ndFA2IG1lXRBQb0ViKlJ0RTFl
CFg1BAkxABUGA1h0BRkYCFg1BAkxABUGA1h0BRkYCgooT29oLEZCKQooT29oLEZCKQooT29oKTQs
IG5eRgooR1FCKQooT29oKTQsIG5eRgooR1FCKQoKV2Unfi07IGVhY2ggJTxyM29yIHNFbG9LH3Ig
PGFMJ3M9ZWU4Y2g5PXV0HxBQb0VzaHlQRSYgaXQKSW5zaS4jZT0laC1TI2hhdCdzPWVlbnw5IG9u
CldlLVNQPH9hbTd3ZRB4IHBsPyBpdAoKSSBqdXN0I2F6UDZVaFMgSSdtM2VIOQpHJXRhICtKVGVy
c3RhVAhYNQQJMQAVBgNYdAUZGAhYNQQJMQAVBgNYdAUZGAhYNQQJMQAVBgNYdAUZGApnIGV2dW9v
f25uYXswenwwMDAwMDB4cnkgcX5fZX1gMF5OWwowIFowYSAgXWRud28gVH5pdCAwMFJWdHJnbnVV
MGxlMFF/IG8wXUxwSjAweWFhbWIgZWhuU2VrS2lWbk1lbEh1ckZaZiBrIGVzMHRlZWRuMjA6Pmls
MDAwP3N0bzB3IDB9WTAhCitYWHl9ckI0Q3U3KhpoZFVyJ3wmYmRNVBsKVR5lFhFDFy9YEjsODGww
LhMLDVY2FG8gBxw4ZXkdcgJjAQ8iPX4vLi9ncw==

কারণ আমি মনে করি ডিকিউ করা সত্ত্বেও এটি এখনও দৃশ্যমান হওয়া উচিত, আসল সমাধানটি এখানে:

sub d{($d=$d{$_})?d(@$d):print for@_}sub r{%d=map{chr,[pop,pop]}45..63,122..255;&d}r" ¯:ç5raâ08/þ; Ölesì|dçI
AÌull comm°6ntŒ3èhink1fÍýldn'tÿÙèhisÌromðny4ÿuy ju5Íaú=î9GÐ Ëäï0ï
'þœn ea}4Ìo|/â-aêÔ}ÜÚut.shy8ÎnsiÞÍeÚÐhœ3nü1n;ÿamÓwe¯ù plá
Aíifôðsk 6 9Don't= 6ô.bÕítçÏe
,ã2,ã2)Û,:õã¶Gé2)Û,:õã¶Gé
'þœ ea}4Ìo|/â-aêÔ}ÜÚut.shy8ÎnsiÞÍeÚÐhœ3nü1n;ÿamÓwe¯ù plá
 ju5Íaú=î9GÐ Ëäï0ï
g evuooÿnnaûúürþýyøeùö÷ N
õó òa dn ô ïíðwotrþit  oleôêuîéÿgnyalæpäedkaâiãòb teënØkurilðnìeeheÝtoesásw f ÑmÖñY
r'bdhÓÏÞÕ tñìïñåîÙëdÎñ× s'oüyrÁÅeyÄð(

åÞŸºrÔlñtieÈàŽý²Æ·Â­¬®Ë¹À±šßÊnuª¥Çcîµ€£©eW³¡«»¢ýÉŠ¿§ÛoOI
° I )ßee¶ rhm'Úat 
oèÜæçŒrÒÐtaÒèëo hcçseÌ
hz{àèreœn >?çèhÍemts 7~Üs<ol¯Ò"=~/./gs

স্ক্রিপ্টের বেস 64-এনকোডিং:

c3ViIGR7KCRkPSRkeyRffSk/ZChAJGQpOnByaW50IGZvckBffXN1YiByeyVkPW1hcHtjaHIsW3Bv
cCxwb3BdfTQ1Li42MywxMjIuLjI1NTsmZH1yIqCvOuc1cmHiMDgv/ps7INZsZXPsfGTnSQpBzHVs
bCBjb21tsDZudLwzjOhoaW5rMWabzf1sZG4ndP/Z6Ghpc8xyb23wbnk0/3V5lSBqdTXNYfo97jlH
0Iogy+TvMIrvCpeJJ/69biBlYX00zG+PfC/imy1h6oXUfdzadXSbLnNoeTjOlJVuc2nezWXa0Gi9
M4Vu/DFuiTv/YW3Td2Wv+SBwbOGUCkHtaWb08HNrIDYgOURvbid0PSA29C5i1e10589lCn+OLOMy
LOMyKdssOvXjtkfpMinbLDr147ZH6ZIKiSf+vSBlYX00zG+PfC/imy1h6oXUfdzadXSbLnNoeTjO
lJVuc2nezWXa0Gi9M4Vu/DFuiTv/YW3Td2Wv+SBwbOGUCpUganU1zWH6Pe45R9CKIMvk7zCK7wp/
l2cgZXZ1b2//bm5h+/r8cv79efhl+fb3IE4K9fMg8mEgZG4g9CDv7fB3b3Ry/ml0ICBvbGX06nXu
6f9nbnlhbOZw5GVka2HiaePyYiB0Zetu2Gt1cmls8G7sZWVoZd10b2Vz4XN3IGYg0W3W8VkKcidi
ZGjTz97VIHTx7O/x5e7Z62TO8dcgcydv/HlywcVlecTwKAoK5cO4vrpy1GzxdGllyOC0/bLGt8Kt
rK7LucCxqN/KbnWqpcdj7rWko6llV7Ohn6u7nqKd/cmmv5yap9uZmG9PSQqwIEkgKd9lZZa2IHJo
kG0njZOR2mF0oApv6Nzm54iLvHLShNB0YdLojOuXl28gaGPnc2XMCoeAaHp74OhyZYG9biA+P+fo
aM1lbXRzgyCCN46SftxzPG9shq/SjyI9fi8uL2dz

1
@ w0lf এটি 724 বাইট, যা 644 ইউটিএফ -8 অক্ষরে অনুবাদ করে। কোনটি গণনা করা যায় তা আমি নিশ্চিত নই really
বহুবর্ষীয়

1
@ সর্বজনীন আমিও জানি না, তবে আশা করি কেউ আমাদের জানবে এবং আলোকিত করবে।
ক্রিশ্চিয়ান লুপাস্কু

5
এই ক্ষেত্রে আমি মনে করি এটি বাইট হওয়া উচিত, যেহেতু স্ট্রিংটি এর অন্তর্ভুক্ত। (বাইট্রিমটি পুরোপুরি বৈধ ইউটিএফ -8 সিকোয়েন্স দ্বারা রচিত হলে এটি সম্পূর্ণ কাকতালীয়))
ব্রেডবক্স

11
এটিকে গড় পার্ল স্ক্রিপ্টের চেয়ে বেশি পঠনযোগ্য বলে মনে হচ্ছে!
Agos

2
(আপনি জানেন, অক্ষরের পরিবর্তে বাইটস গণনা করে যদি এপিএল প্রতিবন্ধী হয় তবে আমি অভিযোগ করব না))
ব্রেডবক্স

11

পাইথন 781 731 605 579 চার্স

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

সম্পাদনা করুন: এড এইচ এর পরামর্শের জন্য 2 টি অক্ষর কাটা, আরও এগিয়ে যেতে আমাকে এখানে অনেক কিছু পুনর্গঠন করতে হতে পারে যা কিছুটা সময় নিতে চলেছে

s="e |nd|-We| a|-(Ooh|N| what|ive| go|ay it-|I|er|G|o |make5 |D| th| othH |A| tF|ing |nna |tell|'s been|'rS|-You|-N4| know|L5 up|PR | you|evHK>| how I'm feeling-|O, g7)|O)9gL, n4gL-(G7)|-I just wa>=53Gotta EuRHstaR-.|Q've8n eachBfor sFlong:r heart<Pch?but:;toFshy@sJInsidSwSboth8M<K?onQ8CSgame6we;go>plJ|9g79let5 down9runProuR6desHt59Ecry9sayKodbye9=P lie6hurt5-|\n|Q;nFstrangHs@love:8CSrules6sFdFI-A full commitment'sM I'mCink?of: wouldn't getCis fromPnyBguy0/AR if5Psk me3Don't = me5;toFbliR@see-..2211-/0..";i=83
exec"x,s=s.split('|',1);s=s.replace(chr(i),x);i-=1"*39
print s

প্রথমবারের পরে আমি ম্যানুয়ালি স্ট্রিংটি তৈরি করেছি (খুব ক্লান্তিকর), আমি পুনরাবৃত্তভাবে প্যাটার্নটি প্রতিস্থাপনের জন্য একটি ফাংশন লিখেছিলাম যা সবচেয়ে লাভজনক ছিল (সেই ধাপে), যা আমাকে একটি সমাধান দিয়েছে তবে এটি আকারটি 10 ​​দ্বারা বাড়িয়েছে অক্ষর।

সুতরাং, আমি কেবলমাত্র 'অক্ষরগুলি হ্রাস', চূড়ান্ত র‌্যাঙ্কিংয়ের পরিবর্তে 'অক্ষর হ্রাস', 'প্যাটার্নের দৈর্ঘ্য' এবং 'প্যাটার্নের সংখ্যা' র উপর চূড়ান্ত র‌্যাঙ্কিং না করে আমার অ্যালগরিদমকে কিছুটা লোভী করেছিলাম

প্যাটার্ন দৈর্ঘ্য = দৈর্ঘ্য গণনা = গণনা

rank = [(length-1)*count - length - 2] + lengthWeight * length + countWeight * count

তারপরে আমি আমার দুর্বল ল্যাপটপটিকে অসীমভাবে চলতে বলেছিলাম, বিভিন্ন চূড়ান্ত সংকোচনের আকার lengthWeightএবং এলোমেলো মান নির্ধারণ করে এবং countWeightএকটি ফাইলের মধ্যে ন্যূনতম সংকোচনের জন্য ডেটা সঞ্চয় করি

আধ ঘন্টা বা তারপরে এটি উপরের স্ট্রিংয়ের সাথে উপস্থিত হয়েছিল (আমি কোডটি ছোট করতে পারি কিনা তা দেখার জন্য আমি আরও এটির সাথে টিঙ্কার চেষ্টা করেছি), এবং এটি কোনও কম হবে না, আমি অনুমান করি যে আমি এখানে কিছু মিস করছি।

এটির জন্য আমার কোডটি এখানেও max_patternখুব ধীর (দ্রষ্টব্য: কোডটি সমাধানের আগের সংস্করণে ফর্মের মতো একটি স্ট্রিং ছুঁড়ে ফেলেছে, আমি নিজে নিজেই বোঝাতে চাইছিলাম বর্তমান ফর্মটি পাওয়ার জন্য, ম্যানুয়ালি আমি পাইথন শেলটিতে ম্যানুয়ালি)

import itertools

global pretty
global split
split = False
pretty = False

# try to keep as much visibility as possible
def prefrange():
    return range(32,127) +  ([] if pretty else ([10, 9, 13] + [x for x in range(32) if x not in (10, 9, 13)] + [127]))

def asciichr():
    return [chr(x) for x in prefrange()]

def max_pattern(s, o, lenw, numw):
    l = len(s)
    patts = []
    for c in range(l/2+1,1,-1):
        allsub = [s[i:i+c] for i in range(0, l, c)]
        subcounts = [[a, s.count(a)] for a in allsub if len(a) == c]
        repeats = [(x, y, ((c-o)*y - o*2 - c)) for x, y in subcounts if y > 1]
        ranks = [(x, y, (z + lenw*c + numw*y)) for x,y,z in repeats if z > 0]
        patts = patts + ranks
    try:
        return sorted(patts, key=lambda k: -k[2])[0]
    except:
        return None

def sep():
    return '~~' if pretty else chr(127) + chr(127)

def newcharacter(s):
    doable = [x for x in asciichr() if x not in s]
    if len(doable) == 0:
        doable = list(set(x+y for x in asciichr() for y in asciichr() if x+y not in s and x+y != sep()))
        if len(doable) == 0:
            return None
    return doable[0]

def joined(s, l):
    one = [x for x in l if len(x)==1]
    two = [x for x in l if len(x)==2]
    return ''.join(reversed(two)) + sep() + ''.join(reversed(one)) + sep() + s

def compress(s, l=[], lenw=0, numw=0):
    newchr = newcharacter(s)
    if newchr == None:
        if not l:
            return s
        return joined(s,l)
    else:
        ptn = max_pattern(s, len(newchr), lenw, numw)
        if ptn == None:
            if not l:
                return s
            return joined(s, l)
        s = s.replace(ptn[0], newchr)
        s = ptn[0] + newchr + s
        l.append(newchr)
        return compress(s, l, lenw, numw)

def decompress(s):
    lst2, lst, s = s.split(sep(),2)
    li = [lst2[i:i+2] for i in xrange(0, len(lst2), 2)]+list(lst)
    for c in li:
        x, s = s.split(c, 1)
        s = s.replace(c, x)
    return s


def test(times):
    import random
    rnd = random.random
    tested = {(1001, 1001): (10000, 10, False),}
    org = open('text').read()
    minfound = 1000
    for i in xrange(times):
        l,n = 1001,1001
        while (l,n) in tested:
            # i guess this would be random enough    
            xr = lambda: random.choice((rnd(), rnd()+rnd(), rnd()-rnd(), rnd()*random.choice((10,100,1000)), -1*rnd()*random.choice((10,100,1000)),))
            n = xr()
            l = xr()
        sm = compress(org, l=[], lenw=l, numw=n)
        try:
            dc = decompress(sm)
        except:
            tested[l,n] = (len(sm), len(sm)/float(len(org)), 'err')
            continue
        tested[l,n] = (len(sm), len(sm)/float(len(org)), dc==org)

        if len(sm) < minfound:
            minfound = len(sm)
            open('min.txt','a').write(repr(tested[l,n])+'\n')
            print '~~~~~~~!!!!!!! New Minimum !!!!!!!~~~~'
    return tested

if __name__ == '__main__':
    import sys
    split = False
    try:
        if sys.argv[2] == 'p':
            pretty = True
    except:
        pretty = False
    org = open(sys.argv[1]).read()
    try:
        l=float(sys.argv[3])
        n=float(sys.argv[4])
    except:
        l,n=0,0
    sm = compress(org,lenw=l,numw=n)
    print 'COMPRESSED -->'
    print sm, len(sm)
    #open('new.py','w').write(sm)
    print len(sm)/float(len(org))
    print 'TRYING TO REVERT -->'
    dc = decompress(sm)
    #print dc
    print dc==org

1. একটি অতিরিক্ত ভেরিয়েবলের জন্য \n5 টি অক্ষর এবং 9 টি সাশ্রয় হবে 2. 2. অতিরিক্ত স্থান in (g,l..)। 3. join(..)পাশাপাশি কাজ করে join([..])(কমপক্ষে 2.7 এ)।
ugoren

126 কম চর, এটি মজাদার
অপ্টিমাস

তোমার প্রোগ্রাম শুধুমাত্র মনে করা হয় 587 বিভিন্ন উত্তরগুলি 588. চেয়ে এক কম - বাইট দীর্ঘ (UNIX ফর্ম্যাটিং)
মাঝামাঝি

এটি দেখানোর জন্য ধন্যবাদ, আসলে আমার ভিআইএম পাইথন ফাইলের শেষের দিকে প্রান্ত যুক্ত করে
অপ্টিমাস

আমি কীভাবে আমার সমাধান পাচ্ছি সে সম্পর্কে আমি কিছু তথ্য যুক্ত করেছি, আমি অবশ্যই কোথাও কিছু ভুল করে চলেছি, ন্যূনতম কোনও সময়ে আটকে যায় তবে অবশ্যই এড। এইচ আরও ভাল করেছে তাই উন্নতির সুযোগ রয়েছে।
অপটিমাস

11

মালবোলজ, 12735 বাইট

D'`N^?o!6}{FW1gSSR2PO)oo98[H('3}C#"?xwO*)L[Zp6WVlqpih.lkjihgI&^F\a`Y^W{[ZYX:Pt7SRQPOHGkK-CHA@d>C<;:9>=6Z:9876v43,+Op.',%*#G'&}$#"y?}_uts9qvo5sUTpong-NMib(fedFEa`_X|\[T<RQVOsSRQP2HlLKJCgAFE>=aA@">76;:9870Tu-2+*)Mn,+*#"!Efe{z!x>|utyxwpo5Vlqpih.fed*ba`&^c\[`Y}@\[TSXQuUTMLQPOHl/EDIHAeED=BA@?8\<|438765.R,r*)(L,+$j"'~D${c!x>_uzyrq7XWsl2ponmfN+LKgf_^c\"Z_^]VzZYX:VOsSRQ3IHGk.JCBAeEDCB;:9]~<5Yzy705432+0/(L,l$H('&feB"yxw={zsxq7Xnsrkjoh.lkdiba'eGcba`Y}@VUySXQPONMqQ3IHlLEJIBA@d'=BA:?87[;:z870T4-2+O/.'&JIj"'&}Cd"!x>|uzyxqpo5slk10nPf,jLKa'_dcb[!_X@VzZ<XQPOsSRQJImMFEJCBAeED=<;_?>=6|:32V05432+0)M-&+*#Gh~}|Bc!x>_{tyr8vutsrTpoh.lkjihgI&^F\[`_X|VUZSRWVOs6LQJImGLEJIBAeED&B;_?!=654X87wv4-Q1qp('&Jk)"!&}C#zb~wv{t:[qpotsrk1oQPlkd*hgfe^]#aZB^]V[ZSwWP8TSLpJ2NGkE-IBA@dDCBA:^!~654Xy705.-Q1*/.'&%Ij('&}C#"!~}|ut:[wvonm3qpongO,jLKa'eGc\[!_A@VzZYX:Pt7SRQPImM/KJIBAe?'=<;_9>=<5492V6/43,P0/('&+*#G'&feBzb~}|uts9wYXn4rqpoQPlkd*hJIe^$ba`Y}WV[Tx;:PONrLKJONGkE-IBAe(D=<A@?>7[;{z810/S-,+0/('&J$j(!E}|#z!x>|{t:xqYo5slTpingf,jLba`&^Fb[`_X|\UTx;WPUTMqQPO1GkE-IBA@dD=B;:?8\<;4981U5432+*)Mn,%Ij('~}|Bc!x}|ut:9wYunmrk1onmfN+LKa'edFEa`_X|?Uyx;WPUTMqQ3ONMFjJIHA@d'CB;:?8\6|:32V65ut,P0po'&+$#(!E%|#"y?w|{tyr8vutsrTpoh.lkjihgI&^F\[`_X|VUZSRWVOsS5QPIHGkEJIHAed>&<`@9>=<;4X876/.3210)(Lm+*#G'~}$#zy~w=u]sxq7Xtmlkji/POe+*hg`Hd]#DZ_^]Vz=SXQVUNrR43ImMLKJIH*@d>C<`#"8=<;:3Wx05.3,P0po'&+$#(!E%$#"yx>|uts9wYonm3Tpinglkd*hJIedcb[!_X@VzT<RQVOsSRQP2HlL.JIBf)?DCB;@?>7[;43Wx0/43,P0/.-m%*#GF&f${A!awv{zs9wpunsrkj0hgfejiba'eG]b[`Y}@VUy<;WVUTMqQJ2NGkKJIHA@dc&BA@?>=<5Y9216543,Pqp(Lm%I)i!~}C{cy?}v{tyr8vuWmrqji/mlejihgf_^]#a`BA]\[Tx;WPUTMqQP2NGFEiIHA)?c&<;@98\};:3W76/u3,+*N.',+$H(!g%${A!~}vu;sxwpun4rqjRnmf,MLbgf_dc\"`BXWVzyYXWP8NrRQ32NMLEDhHGF?>C<`@9876Z4321U5432+*)M-,+*ji!E}|{"y?w|utyr8potsrk1onmlkdiba'eGcba`Y}]?>ZYXQuOTSLpPIHMLEDCg*@?>=a$@9]=<;{z876/S3210/o-&J*j"!~D|{z@awv{zyr8pXn4rqjoh.-kjchgf_%cE[`Y}]\[ZSRWVOsS54JnNML.DhHA@EDCB;_"!=<5Y3y165.-Q1*/.-&Jk#"'~D|#z@x}vut:rwpun4rqjih.lkjihJI_%F\aZ_^W{>=YXWPOs65KJOHlL.JIHG@dDCB$@?>=<5Y98x6543,P0)(-,%$#(!E%|#"!x>_{tyr8vuWmrqji/mlejihgf_^]#a`BA]\[TxR:u8NSRQJImG/EJCHAeE'=B;@?>7[;49870T4t2+*)M-,+*#"!E}|{"y~w={]\xqpo5srqjoh.-kjchgf_%cE[`Y}]\>=SwWP8NrLKPOHGkKJ,HG@d'=BA:?87[|{98765.R210).'K+k#G'&feB"!x}v{zs9wYXn4rTSoh.lNjibg`&G]#aC_X|?>ZYXWPt7MLKJImMFEDCgGFEDCB;_?>=<5{3W165.R2r0/.'KJ$#('~%|Bcb~w|u;yxq7utVrkji/Pledihg`&dcba`Y}W?UZYRQuONMLQJOHlkKJI+AeED=%;_?!~<5Y98x6543,P0/.-m%*#G'&f${A!awv{zs9wpunsrkj0hgfejiba'eG]b[`Y}@VUy<;WVUTMqQJ2NGkKJIHA@dc&BA@?>=<5Y9216543,P0po'&%I)(!g%${Aya}|u;:rwpun4rqjih.fN+cha`_^$ba`BX|\[ZYX:Pt7SRQPOHGkKJ,HAF?>bB$:?8=6Z:3y76/St,+O).',%$#G'~f$#"!x>|{z\xwp6tsrkpong-kjihgfH%cbDCYXW{>=YXQu8NMLpJINGLEJIBfeE'=<;:9]=<;{z870T.-2+*/.-&J*)(!~}C{cy?}v{tyr8YXnml2ji/glkdcb(f_dcbaZ~^]\U=SwQVOTMRQJImG/EJCHAe(D=B;@?>7[|:9876/.3,Pqp(',+*#G'&feBzy~w={]yxwvo5mrqj0hmlejiba'eG]b[`Y}@VUySXWPUTMqQJ2NGkEJCHA@dDCB;_987<;:9810Tu3,10).'K+$j"'~D|dz@~}_{t:xqpon4rqjRnmf,jchaf_%]Ea`_^]VzZYXQ9UNr54JnH0LKDhHGFEDCB;_?!~<;:981U/u3,+*N.-,%k)"Fg%$#"!x>v{tyrq7Xtmrk1oQPfejc)gfH%]baZ_^W{[TSwv9OTMLp3ONMLEDhBGFEDC<;_"!7[|{9870T43,+Op.-&+$)"F&f$#zy~w=^]sxqpo5srqpoQg-Njchafedc\"`_X]VzZYR:u87SLKJnNM/KDhBGF?>=aA@?!~6;:3W7wv.-2+O/o-&J$j"'~D${c!x>|{tyxq76nsrkpi/gfkdiba'HGcb[!_^@VUTx;WPUTMqQPONM/EiCHG@dDCB;_987<;:9810T.-,10)M',%$)"F&feB"!a}|u;\xqputm3qpRQ.fkdcbg`&dFEaZ~A@\[TxXQ9UTMqQPINMFjJ,HG@d'=BA:?87[;:z8765.R210/o-&J$j"'~D$dc!x>|uzyxqpo5Vlqping-kdchg`_%cE[`Y}]?>ZSRWVOsM5KoOHMFjJCHGF?cCB;@?87[;:z8765.R,1*/.-&%Ij('~}|Bc!x>_utsxqpo5mlk1onmfN+iKg`_^$E[!~^]\U=SwQVOTMRQJImMLKD,HAe?DCBA@?>7[|{92V6/.3210)(Lm+*#G'&feBzy~w={ts9wvXnm3kSohglkjiha'e^]\a`Y}@VUyYX:POTMqQJ2NMLKDhHA@dD=<`#"8=<;:3W7654-Q10/('K+$)(!EfeBzb~wv{t:[wpon4Ukji/Plkjchgf_^$bDZ_^]VzZ<Rv9OTMLpPON0/KJIHAeE>=B;:9]~654X270T.-2+*/.-&J*j"!~D${cy?}v{tyr8vuWsrqpi/mleMihgf_^]#aZ_XWVzyYXWP8NrRQ32NMLEDhHA)?cCB$@987[5{321U5u32+O)o'&J*ji'~D${c!x>_{tsrwvun4lTjih.lkjihJI_%F\aZ_^W{>=YXWPOsS54PIm0/KJCBAe(>=<A@?>=<;4Xyx65.R210).'K+k#G'&feB"b~}v<zsxwp6Wmrqping-kdcha'e^F\[`_X|\[ZYX:Pt7SRQPOHGkE-CHA@d>C<;:9>=6Z:z8765.R210)o'&J$)"!~%${A!~`v{zyr8pXnslk1onmfN+Lbgfe^]#aC_X|{[ZSXWVOsMRKoONML.DhHA)E>bB;:9]=6|49810/.R2r*).-&J*)(!&}C#c!x}v<]\xqputm3qponmfN+LKa'edFEa`_X|?Uyx;WPUTMqQJnH0FKJCHAe?>CBA:?87[|{98765.R210).'K+k#G'gfC{cy~}vu;yxwvXWsl2ponmfN+LKa'_^$#DZ_^]Vz=<XWPtT65QJn1GLEDhHGF(>C<A@9]=<;:3y76/St,+Opo'&%Ij(!~%|Bz@a}|{t:[wvun43qpRQ.-Ndcha'edFEa`_X|?>ZYXWPt7MLKJImMFEDCgGFEDCB;_?>=<5{3W165.R2r0/.'KJ$#('~%|Bcb~w|u;yxqYo5srTSihg-kMc)J`e^]#DZ_^]VzTSRQVONMqQJOHlF.JIBf)d'CB;:?8\<;492Vw5.-,+O/('&J$j(!E%e{zy?}|^]yxq7XWsrkji/mfN+ihg`H^$b[Z_^W\UySRQPtsSR43ImM/KJIBAeE>&<`@9876Z4321U5432+*)M-,+*ji!E}|{"y?w|utyr8potsrk1onmlkdiba'eGcba`Y}]?>ZYXQuOTSLpPIHMLEDCg*@?>=a$@9]=<;{z876/S3210/o-&J*j"!~D|{z@awv{zyr8pXn4rqjoh.-kjchgf_%cE[`Y}]\[ZSRWVOsS54JnNML.DhHA@EDCB;_"!=<5Y3y165.-Q1*/.-&Jk#"'~D|#z@x}vut:rwpun4rqjih.lkjihJI_%F\aZ_^W{>=YXWPOs65KJOHlL.JIHG@dDCB$@?>=<5Y98x6543,P0)(-,%$#(!E%|#"!x>_{tyr8vuWmrqji/mlejihgf_^]#a`BA]\[TxR:u8NSRQJImG/EJCHAeE'=B;@?>7[;49870T4t2+*)M-,+*#"!E}|{"y~w={]\xqpo5srqjoh.-kjchgf_%cE[`Y}]\>=SwWP8NrLKPOHGkKJ,HG@d'=BA:?87[|{98765.R210).'K+k#G'&feB"!x}v{zs9wYXn4rTSoh.lNjibg`&G]#aC_X|?>ZYXWPt7MLKJImMFEDCgGFEDCB;_?>=<5{3W165.R2r0/.'KJ$#('~%|Bcb~w|u;yxq7utVrkji/Pledihg`&dcba`Y}W?UZYRQuONMLQJOHlkKJI+AeED=%;_?!~<5Y98x6543,P0/.-m%*#G'&f${A!awv{zs9wpunsrkj0hgfejiba'eG]b[`Y}@VUy<;WVUTMqQJ2NGkKJIHA@dc&BA@?>=<5Y9216543,P0po'&%I)(!g%${Aya}|u;:rwpun4rqjih.fN+cha`_^$ba`BX|\[ZYX:Pt7SRQPOHGkKJ,HAF?>bB$:?8=6Z:3y76/St,+O).',%$#G'~f$#"!x>|{z\xwp6tsrkpong-kjihgfH%cbDCYXW{>=YXQu8NMLpJINGLEJIBfe(>=a$@9]=<;{z876/S3210/o-&J*j"!~D|{z@awv{zyr8pXn4rqjoh.-kjchgf_%cE[`Y}W?UZYRQuUTS54PImGLKJIHGF?cCB$#9]=6|:32V0/432+Op.'K+k#G'&feBzb~w=^]srqpo5srqpRQ.fejiha'edFEa`_X|?>ZYXWPt7MLKJImMFEDCgGFEDCB;_?>=<5{3W165.R2r0/.'KJ$#('~%|Bcb~w|u;y[qvotsrk1inmle+LKa'eGc\[!_^@VUTxXQ9UNr54JnH0LKJIBAe?'CBA@9]~65:9870Tut,+0/(Lm+*)"!&%${Aya}|{ts9ZYotmrk1Rnglkdihg`&d]\a`_^]\UTxX:Pt7MRKJIHlLE-IBAe(D=<A:^>~6549270T432r0/.'KJ$#('~%|Bcb~w|u;yxwYXn4rqpohg-kjiba'eGc\[!_^]\[Z<Rv9UTMRKPOHlF.DhBGF?>=a;:?8=6Z:3y76/St,+O/('&%$Hi!&}${Ab~}vut:rwpun4lTpi/Plkjchgf_^$ba`_A@\[TxX:Pt7MRKJIHlL.JIBf)dDCBA#9]~65:9870T4-2+O/.-m%*#G'&f${A!awv{zs9wpunsrkj0hgfejiba'eG]b[`Y}@VUy<;WVUTMqQJ2NGkKJIHA@dc&BA@?>=<5Y9216543,P*).-,%Ij('~}|B"!~`|u;yxwvXWsl2ponmfN+LKgf_%cba`YX|\[ZSRvVOTSLQPImMLKDhB*F?>CB;_?8=<5Y9y765.-,+O/('&J$j(!E%e{zy?}|^]yxq7XWsrkji/mfN+ihg`H^$b[Z_^W\UySRQPtsSR43ImM/KJIBAeED=<;_"!=<5Y9yx65.R210)o'&J*j('~}${A!~}_{t:9wpXtsl2poQg-NMiba`&dFEa`_X|\[ZYR:u8NSRQJImG/EJCHAeE'=B;@?>7[;49870T4t2+*)M-,+*#"!E}|{"y~w={]\xqpo5srqjoh.-kjchgf_%cE[`Y}]\U=YXWPt7MLKJImGLKDCHAed>=B;_"!=<5Y9216543,P*)('&J*ji'~D${cy?}v{tyr8vutVrkji/mlkjihJI_%F\aZ_^W{>=YXWPOsSRQP2NGLEDhBGF?c=B;_?>~}5Y9876v43,+O/o',+$)"Fg%|{"y?w|utyr8vXnm32poQ.lkdib(feGcba`Y}]?UTYRvPOTSRKo2NGFjD,HAeED&B;_?>~<;:3W165.-,P0)o'&J*ji!E}|{"y?w|utyr8potsrk1ongOkd*hgfe^F\"C_^W\UyYR:uOTMqQP2NGLEiIHGF?>CB;_?!~<;:981U/43,10/.-&J$j"'~De#"!~w={tyrwpun4rqpRh.Okdihgf_^$bDZ_^]VzTSRQVONMqQJOHlF.JIBf)d'CB;:?8\<;492V0vS-s+*NonK+k)('~De{z!x>_uzyrq7Xtsrkpi/POedchg`&G]#aC_X|?>ZYXWPt7MLKJImMFEDCgGFEDCB;_?>=<5{3W165.R2r0/.'KJ$#('~%|Bcb~w|u;yxqYo5srTSihg-kMc)J`e^]#aCBXW{>=YXWPOsM5Ko2HMFKJIHAeE'=B;@?>7[;49870T4t2+*)M-,+*#"!E}|{"y~w={]\xqpo5srqjoh.-kjchgf_%cE[`Y}W?UZYRQuUTS54PImGLKJIHGF?cCB$#9]=<|49870Tut21*)M'&%*)(!E%$#"y?}|{zyxwpo5Vlqpih.fN+LKgf_%cba`YX|\[ZSRvVOTSLQPImMF.JIBf)(DCB;_?!~6;:981U54-s+*NonK+k)('~De{z!x>_uzyrq7Xtsrkpi/POedchg`&G]#aC_X|?>ZYXWPt7MLKJImMFEDCgGFEDCB;_?>=<5{3W165.R2r0/.'KJ$#('~%|Bcb~w|u;yxqYo5srTSihg-kMc)J`e^]#aCBXW{>=YXWPOsM5Ko2HMFKJIHAeE'=B;@?>7[;49870T4t2+*)M-,+*#"!E}|{"y~w={]\xqpo5srqjoh.-kjchgf_%cE[`Y}W?UZYRQuUTS54PImGLKJIHGF?cCB$#9]=<|49870Tut21*)M'&%*)(!E%$#"y?}|{zyxwpo5Vlqpih.fN+LKgf_%cba`YX|\[ZSRvVOTSLQPImMF.JIBf)(DCB;_?!~6;:981U54-s+*NM-ml*)(!E%${cy?`v{zyr8putsrkj0hgfejiba'eGc\[!_^W{U=SwQ9UNr5QPIHMFjJ,BAe?'C<;@9]~<5Y3876/.3,Pqp(',+*#G'&feBzy~w={]yxwvo5mrqj0hmlejiba'eG]b[`Y}@VUySXWPUTMqQJ2NGkEJCHA@dDCB;_987<;:9810Tu3,10).'K+$j"'~D|dz@~}_{t:xqpon4rqjRnmf,jchaf_%]Ea`_^]VzZYXQ9UNr54JnH0LKDhHGFEDCB;_?!~<;:981U/u3,+*N.-,%k)"Fg%$#"!x>v{tyrq7Xtmrk1oQPfejc)gfH%]baZ_^W{[TSwv9OTMLp3ONMLEDhBGFEDC<;_"!7[|{9870T43,+Op.-&+$)"F&f$#zy~w=^]sxqpo5srqpoQg-Njchafedc\"`_X]VzZYR:u87SLKJnNM/KDhBGF?>=aA@?!~6;:3W7wv.-2+O/o-&J$j"'~D${c!x>|{tyxq76nsrkpi/gfkdiba'HGcb[!_^@VUTx;WPUTMqQPONM/EiCHG@dDCB;_987<;:9810T.-,10)M',%$)"F&feB"!a}|u;\xqputm3qpRQ.fkdcbg`&dFEaZ~A@\[TxXQ9UTMqQPINMFjJ,HG@d'=BA:?87[;:z8765.R210/o-&J$j"'~D$dc!x>|uzyxqpo5Vlqping-kdchg`_%cE[`Y}]?>ZSRWVOsM5KoOHMFjJCHGF?cCB;@?87[;:z8765.R,1*/.-&%Ij('~}|Bc!x>_utsxqpo5mlk1onmfN+iKg`_^$E[!~^]\U=SwQVOTMRQJImMLKD,HAe?DCBA@?>7[|{92V6/.3210)(Lm+*#G'&feBzy~w={ts9wvXnm3kSohglkjiha'e^]\a`Y}@VUyYX:POTMqQJ2NMLKDhHA@dD=<`#"8=<;:3W7654-Q10/('K+$)(!EfeBzb~wv{t:[wpon4Ukji/Plkjchgf_^$bDZ_^]VzZ<Rv9OTMLpPON0/KJIHAeE>=B;:9]~654X270T.-2+*/.-&J*j"!~D${cy?}v{tyr8vuWsrqpi/mleMihgf_^]#aZ_XWVzyYXWP8NrRQ32NMLEDhHA)?cCB$@987[5{321U5u32+O)o'&J*ji'~D${c!x>_{tsrwvun43qpohgf,jihgfH%cba`_A@\Uy<;QPONMqQP2HlL.JIBf)dD=BA@9>7[5{321U/.3,10/(LKl*)"F&feBc!x>|^]yxq7utVlkj0/mfN+LKgf_%cba`YX|\[ZSRvVOTSLQPImGLEDIBAe(D=<A@?>7[;43W76v43,+O/(n,%I)('gfCd"!xw|{zs9wvutm3qponmlkdcb(f_^$#[`_^]VzTYRv9OTMLpP21GkKD,BG@d>CBA:^>~6549270T.3,1*)ML,%k)"F&feB"!~w=^]s9wYXnml2ponmlkjiba'eGc\[!_^@VUTxXQ9UNr54JnH0LKJIBAeEDCBA:^>=<54X8x6/S3,10/.-&J*j"!~D|#zyx>v{zs9qvutsrk1Rngfkd*hJIedcb[!_A]\UZSwvPUNSLp3INGFjJI+*F?cCB$#9]~}5:32V6v43,+O/o-,+*#G'~f|{"y?}|{zsxq76tVrkji/mfN+ihg`H^$b[`Y}@VUTxX:Pt7SRQPOHGk.JCBGF?cC<A:^>=<5:3W76v43,+Op.'&%Iji!&}$#z@a`|{zsxq7uWsrkj0QPlejchg`&d]\a`_^]\UTxX:Pt7MRKJIHlLE-IBAe(D=<A:^>~6549270T432r0/.'KJ$#('~%|Bcb~w|u;y[qvotsrk1inmle+LKa'eGc\[!_^@VUTxXQ9UNr54JnH0LKJIBAe?'CBA@9]~65:9870Tut,+0/(Lm+*)"!&%${Aya}|{ts9ZYotmrk1Rnglkdihg`&d]\a`_^]\UTxX:Pt7MRKJIHlLE-IBAe(D=<A:^>~6549270T432r0/.'KJ$#('~%|Bcb~w|u;yxwYXn4rqpohg-kjiba'eGc\[!_^]\[Z<Rv9UTMRKPOHlF.DhBGF?>=a;:?8=6Z:3y76/St,+O/('&%$Hi!&}${Ab~}vut:rwpun4lTpi/Plkjchgf_^$ba`_A@\[TxX:Pt7MRKJIHlL.JIBf)dDCBA#9]~65:9870T4-2+O/.-m%*#G'&f${A!awv{zs9wpunsrkj0hgfejiba'eG]b[`Y}@VUy<;WVUTMqQJ2NGkKJIHA@dc&BA@?>=<5Y9216543,P*).-,%Ij('~}|B"!~`|u;yxwvXWsl2ponmfN+LKgf_%cba`YX|\[ZSRvVOTSLQPImMLKDhB*F?>CB;_?8=<5Y9y765.-,+O/('&J$j(!E%e{zy?}|^]yxq7XWsrkji/mfN+ihg`H^$b[Z_^W\UySRQPtsSR43ImM/KJIBAeED=<;_"!=<5Y9yx65.R210)o'&J*j('~}${A!~}_{t:9wpXtsl2poQg-NMiba`&dFEa`_X|\[ZYR:u8NSRQJImG/EJCHAeE'=B;@?>7[;49870T4t2+*)M-,+*#"!E}|{"y~w={]\xqpo5srqjoh.-kjchgf_%cE[`Y}]\U=YXWPt7MLKJImGLKDCHAed>=B;_"!=<5Y9216543,P*)('&J*ji'~D${cy?}v{tyr8vutVrkji/mlkjihJI_%F\aZ_^W{>=YXWPOsSRQP2NGLEDhBGF?c=B;_?>~}5Y9876v43,+O/o',+$)"Fg%|{"y?w|utyr8vXnm32johg-Njchgf_^$\a`Y^]\UTxX:Pt7MRKJIHlLE-IBAe(D=<A:^>~6549270T432r0/.'KJ$#('~%|Bcb~w|u;yxqYo5srTSihg-kMc)J`e^]#DZ_^]VzTSRQVONMqQJOHlF.JIBf)d'CB;:?8\<;492Vw5.-,+O/('&J$j(!E%e{zy?}|^]yxq7XWsrkji/mfN+ihg`H^$b[Z_^W\UySRQPtsSR43ImM/KJIBAeE>&<`@9876Z4321U5432+*)M-,+*ji!E}|{"y?w|utyr8potsrk1onmlkdiba'eGcba`Y}]?>ZYXQuOTSLpPIHMLEDCg*@?>=a$@9]=<;{z876/S3210/o-&J*j"!~D|{z@awv{zyr8pXn4rqjoh.-kjchgf_%cE[`Y}]\[ZSRWVOsS54JnNML.DhHA@EDCB;_"!=<5Y3y165.-Q1*/.-&Jk#"'~D|#z@x}vut:rwpun4rqjih.lkjihJI_%F\aZ_^W{>=YXWPOs65KJOHlL.JIHG@dDCB$@?>=<5Y98x6543,P0)(-,%$#(!E%|#"!x>_{tyr8vuWmrqji/mlejihgf_^]#a`BA]\[TxR:u8NSRQJImG/EJCHAeE'=B;@?>7[;49870T4t2+*)M-,+*#"!E}|{"y~w={]\xqpo5srqjoh.-kjchgf_%cE[`Y}]\>=SwWP8NrLKPOHGkKJ,HG@d'=BA:?87[|{98765.R210).'K+k#G'&feB"!x}v{zs9wYXn4rTSoh.lNjibg`&G]#aC_X|?>ZYXWPt7MLKJImMFEDCgGFEDCB;_?>=<5{3W165.R2r0/.'KJ$#('~%|Bcb~w|u;yxq7utVrkji/Pledihg`&dcba`Y}W?UZYRQuONMLQJOHlkKJI+AeED=%;_?!~<5Y98x6543,P0/.-m%*#G'&f${A!awv{zs9wpunsrkj0hgfejiba'eG]b[`Y}@VUy<;WVUTMqQJ2NGkKJIHA@dc&BA@?>=<5Y9216543,P0po'&%I)(!g%${Aya}|u;:rwpun4rqjih.fN+cha`_^$ba`BX|\[ZYX:Pt7SRQPOHGkKJ,HAF?>bB$:?8=6Z:3y76/St,+O).',%$#G'~f$#"!x>|{z\xwp6tsrkpong-kjihgfH%cbDCYXW{>=YXQu8NMLpJINGLEJIBfe(>=a$@9]=<;{z876/S3210/o-&J*j"!~D|{z@awv{zyr8pXn4rqjoh.-kjchgf_%cE[`Y}W?UZYRQuUTS54PImGLKJIHGF?cCB$#9]=6|:32V0/432+Op.'K+k#G'&feBzb~w=^]srqpo5srqpRQ.fejiha'edFEa`_X|?>ZYXWPt7MLKJImMFEDCgGFEDCB;_?>=<5{3W165.R2r0/.'KJ$#('~%|Bcb~w|u;y[qvotsrk1inmle+LKa'eGc\[!_^@VUTxXQ9UNr54JnH0LKJIBAe?'CBA@9]~65:9870Tut,+0/(Lm+*)"!&%${Aya}|{ts9ZYotmrk1Rnglkdihg`&d]\a`_^]\UTxX:Pt7MRKJIHlLE-IBAe(D=<A:^>~6549270T432r0/.'KJ$#('~%|Bcb~w|u;yxwYXn4rqpohg-kjiba'eGc\[!_^]\[Z<Rv9UTMRKPOHlF.DhBGF?>=a;:?8=6Z:3y76/St,+O/('&%$Hi!&}${Ab~}vut:rwpun4lTpi/Plkjchgf_^$ba`_A@\[TxX:Pt7MRKJIHlL.JIBf)dDCBA#9]~65:9870T4-2+O/.-m%*#G'&f${A!awv{zs9wpunsrkj0hgfejiba'eG]b[`Y}@VUy<;WVUTMqQJ2NGkKJIHA@dc&BA@?>=<5Y9216543,P*).-,%Ij('~}|B"!~`|u;yxwvXWsl2ponmfN+LKgf_%cba`YX|\[ZSRvVOTSLQPImMLKDhB*F?>CB;_?8=<5Y9y765.-,+O/('&J$j(!E%e{zy?}|^]yxq7XWsrkji/mfN+ihg`H^$b[Z_^W\UySRQPtsSR43ImM/KJIBAeED=<;_"!=<5Y9yx65.R210)o'&J*j('~}${A!~}_{t:9wpXtsl2poQg-NMiba`&dFEa`_X|\[ZYR:u8NSRQJImG/EJCHAeE'=B;@?>7[;49870T4t2+*)M-,+*#"!E}|{"y~w={]\xqpo5srqjoh.-kjchgf_%cE[`Y}]\U=YXWPt7MLKJImGLKDCHAed>=B;_"!=<5Y9216543,P*)('&J*ji'~D${cy?}v{tyr8vutVrkji/mlkjihJI_%F\aZ_^W{>=YXWPOsSRQP2NGLEDhBGF?c=B;_?>~}5Y9876v43,+O/o',+$)"Fg%|{"y?w|utyr8%

এটি অনলাইনে চেষ্টা করুন।

এখানে সরঞ্জাম ব্যবহার করে উত্পন্ন


ওহো! একটি মালবোলজ উত্তর? অসাধারণ!
মিল্কিওয়ে 90

10

জাভাস্ক্রিপ্ট 666 বাইট

টেকাজেকের সমাধান দ্বারা অনুপ্রাণিত ।

পরীক্ষা করে দেখুন ব্লগ পোস্টে আমি এটা সম্পর্কে লিখেছেন, এটা সব সূত্র রয়েছে এবং কীভাবে আমি যে কোড নির্মিত।

আপনি কোডটি অনুলিপি করে আপনার ব্রাউজারের কনসোলে আটকে দিতে পারেন। অথবা http://jsfiddle.net/eike/Sws4g/1/ এ চেষ্টা করে দেখুন

t="We're no strangers to love|YouSrules;so do I|A full commitment's what?think7f|You wouldn't get this from anyLguy^zQnqAnd if:ask me[Don'tEme yRblind=ee{HUH_]|Qq^{x<br>{zxz||xxZKVlet:downVrun around;deseBVMcryVsay goodbyeV8a liFhuB||q eachLfor so long|Your hearPaching but|YRshy=@Inside we bothCwhaPgo7n|WeSgamFwe'reJpl@_U]^|I just wannaEyou[Gotta Munderstand](Ooh)|Z, nX|(GU[ how?feeling|ZNXXTgiveV|NTUiveK)|TeverJSCthe Rou're too QWe've9Pt's been Mmake:L other K:upJ gonna H(Ooh, gFe;E 8C9 Brt you@ay it|? I'm = to s; and : you 9 know8tell 7ing o";c="|{zxq_^][ZXVUTSRQPMLKJHFECB@?=;:987".split("");while(l=c.pop()){t=t.split(l);t=t.join(t.pop())}document.write(t)

9

পার্ল, 584 578 577 576 575 571 564 554 553 540

এই সমাধানটি অন্যদের বেশিরভাগের মতো একই বুনিয়াদি পদ্ধতির অনুসরণ করে: একটি প্রাথমিক স্ট্রিং দেওয়া থাকলে পাঠ্যের পুনরাবৃত্ত অংশগুলির পুনরাবৃত্তি প্রতিস্থাপন সম্পাদন করা।

প্রতিস্থাপনের নিয়মগুলি একটি একক অক্ষর দ্বারা সুনির্দিষ্টভাবে উল্লেখ করা হয়, সাধারণত আউটপুট পাঠ্যে না ঘটে তাই লেন্থের নিয়মের একটি নিয়ম এবং N সময়গুলি প্রায় N * LNL-1 বাঁচাতে পারে (এন * এল সমস্ত ঘটনার মূল দৈর্ঘ্য, তবে প্রতিস্থাপনের অক্ষরটি N বার দেখা যায়, এবং আক্ষরিক পাঠ্যের নিজেই দৈর্ঘ্য L থাকে এবং বিধিগুলি পৃথককারী চরিত্র দ্বারা বিভক্ত হয়)) যদি প্রতিস্থাপনের অক্ষরগুলি স্পষ্টভাবে নির্দিষ্ট করা হয়, তবে সঞ্চয়গুলি N * LNL-2 এ হ্রাস করা হবে। প্রদত্ত যে বেশিরভাগ ভাষাগুলি একটি অক্ষরকে chr () বা তেমনিভাবে সংক্ষিপ্ত কোডের সাথে গণনা করতে পারে, প্রথম পদ্ধতিকে উচ্চতর হতে দেখা যায়।

প্রতিস্থাপনের চরিত্রটি গণনা করার ক্ষেত্রে কিছু ত্রুটি রয়েছে, যার মধ্যে সর্বাধিক তাৎপর্য হ'ল এএসসিআইআই অক্ষরের ধারাবাহিক পরিসরের প্রয়োজন। আউটপুটে বেশিরভাগ ছোট হাতের অক্ষর ব্যবহার করা হয়, তবে যথেষ্ট অক্ষরের অক্ষর এবং বিরামচিহ্নগুলি হয় নিজের সাথে একটি অক্ষর প্রতিস্থাপনের প্রয়োজন হয়, তারপরে একটি ফিক্সআপ পর্যায়ে কয়েকটি অক্ষর পুনর্নির্মাণ করা বা সমস্যাযুক্ত চরিত্রগুলির সাথে প্রতিস্থাপনের আগে ঘটে এমন নিয়মগুলি অর্ডার করার প্রয়োজন হয়। এমন একটি ভাষা ব্যবহারের পরিবর্তে যা রেজেক্সগুলি ব্যবহার করে প্রতিস্থাপন করে তার অর্থ হ'ল এমন একটি চরিত্রের জন্য গেটচস রয়েছে যা রেজেক্সের মধ্যে বিশেষ অর্থ রাখে:. + * \ ?

আমার আসল পদ্ধতির ডিকোডারে 63 বাইট এবং নিয়মে 521 ছিল। আমি বিধিগুলি অনুকূল করে তুলতে অনেক সময় ব্যয় করেছি, যা সংক্ষিপ্ত নিয়মগুলির সাথে ওভারল্যাপ করতে পারে বিশেষত কৃপণ হতে পারে। আমি সূত্রটিকে কিছুটা ঠকিয়ে 55 টি বাইট এবং নিয়মগুলি 485-এ নামিয়েছি। সাধারণত, একটি 2-চরিত্রের নিয়ম যা 3 বার ঘটে বা 3-অক্ষরের নিয়ম যা দু'বার ঘটেছিল তা আসলে কোনও দৈর্ঘ্য বাঁচাতে পারে না, তবে একটি লুফোল রয়েছে - যা শব্দগুলি তৈরি করতে দেয় যা আউটপুটের অংশ নয়; - )।

আমি এই সমাধানটিতে নিয়ন্ত্রণের অক্ষর ব্যবহার করি না, সুতরাং সমাধানটি এখানে বেস 64-এনকোডযুক্ত সরবরাহ করা হয়।

cz09AhpuCnRyYQ8QcxIHbG8OGRwVBHJ1bGVzDRRzB2QHSQFBE3VsbCBjb21taXQIbnQXcxFoYXQs
FWluaxtvZhkRC2xkbhd0BWV0FWlzE3JvbQ1ueR8FdXkuJ0EUaWYYDXNrIAgtRG9uF3QgHiAIGBp0
bwdibGkUdAoDKysBKSkoKCcuKys9OyRjPWNociQ9LS0sczpbJGNdOigiCldlZWVlICBnb3RvIG1l
b3cHc291bmQgYXZlbmdlciB3IHQgZgwgEmhpDiciPX4vLj9cRC9nLHNwbGl0CjAsJyB5CzABWQsw
F3IEMGkPIDAga24JMG5uYSAwdGVsbDAgBmgQMCAwFhggdXAwZQ5yBW8dMHQXcyBiA24gMGF5IGl0
ATABTiIwAShPb2gwAQECFw4cbiBlYWNoHxNvciBzB2xvDxlyIGhlYXIjYWNoG2J1dBkadG8KaHkS
CiRJbnNpZGURBGIGaBwRaGEjZ28bb24BAhwVBGdhCA0Ud2UaZ28dcGwkMCYpJWcWLCBuImcWAShH
ISkwJiwFISkwbWFrZRggMAElZyElbGV0GCBkCW4lcnVuDXILFGEUZGVzEHQYJSpjcnklc2F5BW9v
ZGJ5ZSUeDSBsaWUNFGh1cnQYMCBJF20wIGgJLBMDbGkPATABSSBqdXN0EWEdHhgtRwZ0YSAqdQwQ
c3RhDCsnKVskPV06ZWd3aGlsZSQ9O3ByaW50

এবং এখানে এটি কিছুটা বেশি পঠনযোগ্য (তবে কম নির্বাহযোগ্য) সংস্করণ হিসাবে রয়েছে।

s==^B^Zn
tra^O^Ps^R^Glo^N^Y^\^U^Drules^M^Ts^Gd^GI^AA^Sull commit^Hnt^Ws^Qhat,^Uink^[of^Y^Q^Kldn^Wt^Eet^Uis^Srom^Mny^_^Euy.'A^Tif^X^Msk ^H-Don^Wt ^^ ^H^X^Zto^Gbli^Tt
^C++^A))(('.++=;$c=chr$=--,s:[$c]:("
Weeee  goto meow^Gsound avenger w t f^L ^Rhi^N'"=~/.?\D/g,split
0,' y^K0^AY^K0^Wr^D0i^O 0 kn^I0nna 0tell0 ^Fh^P0 0^V^X up0e^Nr^Eo^]0t^Ws b^Cn 0ay it^A0^AN"0^A(Ooh0^A^A^B^W^N^\n each^_^Sor s^Glo^O^Yr hear#ach^[but^Y^Zto
hy^R
$Inside^Q^Db^Fh^\^Qha#go^[on^A^B^\^U^Dga^H^M^Twe^Zgo^]pl$0&)%g^V, n"g^V^A(G!)0&,^E!)0make^X 0^A%g!%let^X d^In%run^Mr^K^Ta^Tdes^Pt^X%*cry%say^Eoodbye%^^^M lie^M^Thurt^X0 I^Wm0 h^I,^S^Cli^O^A0^AI just^Qa^]^^^X-G^Fta *u^L^Psta^L+')[$=]:egwhile$=;print

যাইহোক, আমি সন্দেহ করি এটি এখনও ন্যূনতম নয়, যেমন এড এইচ উল্লেখ করেছেন যে পিএইচপি ডিকোডিংটি 44 বাইটের মধ্যে সবচেয়ে কম এবং আমি যে নিয়মগুলি ব্যবহার করছি সেগুলির উন্নতির জন্য আমি জায়গাটি দেখেছি। পার্লে আমার কাছে 52-বাইট ডিকোডার রয়েছে তবে বিপরীতে পরিসরটি চালিয়ে যাওয়ার জন্য আমি এই সমাধানের জন্য এটি ব্যবহার করতে পারিনি।


8

পিএইচপি 730 707 অক্ষর

<? $ l = 'আপনি'; $ n = 'কখনই হবে না'; $ z = "দিতে $ l ছেড়ে দিন"; $ এম = "
। n $ z
down n যাক down আমি নীচে
around n দৌড়াও এবং মরুভূমি $ l
make n Make। l কেঁদেছি
। n বিদায় বলে
lie n একটি মিথ্যা বলুন এবং আঘাত করুন $ l

"; $ ণ ="
আমরা একে অপরকে এত দিন ধরে চিনি
আপনার হৃদয় ব্যথা হয়েছে কিন্তু
আপনি এটি বলতে খুব লজ্জা পান
ভিতরে আমরা দুজনেই জানি যা চলছে
আমরা খেলাটি জানি এবং আমরা এটি খেলব
"; $ পি =" (ওহ, $ z) "; = r =" ($ z) "; $ g =" আমি কেমন অনুভব করছি "; = s =" give n দিন, give n দিন "; $ t = "আমি কেবল $ l $ g বলতে চাই
প্রতিপন্ন করতে হবে "; প্রতিধ্বনি" আমরা প্রেম করার মতো অপরিচিত কেউ নই
আপনি নিয়ম জানেন এবং আমিও
একটি পূর্ণ প্রতিশ্রুতিবদ্ধ যা আমি ভাবছি
আপনি এটি অন্য কোনও লোকের কাছ থেকে পাবেন না
$ টি
$ মি $ ণ
এবং যদি আমি আমাকে জিজ্ঞাসা করি $ জি
আমাকে বলবেন না - দেখতেও অন্ধ're
$ মি $ মি
$ পি
$ পি
(ওহ)
$ s এর
$ R
(ওহ)
$ s এর
$ R
$ ণ
$ টি
$ মি $ মি $ মি ";

1
আপনি "আপনি" এবং "আপনি" ভেরিয়েবলগুলিতে রেখে এই সংক্ষিপ্ত করতে পারবেন।
বহুদিনের

@ পিটারটেলর, উজ্জ্বলতার বিষয়টি লক্ষ্য করার জন্য এটি একটি টাইপো ধন্যবাদ।
l0n3sh4rk

@ সর্বজনীন, সম্পন্ন!
l0n3sh4rk

$s="Never gonna give...সংক্ষিপ্ত করা যেতে পারে $n
মিঃ লালমা

1
"দিতে" একটি পরিবর্তনশীল তৈরি করার পরামর্শ দিন। এটি 5 জায়গায় ব্যবহৃত হয় used
গ্লেন সলসবেরি

8

পার্ল - 589 588 583 579 576 বাইট

প্রতিটি নিয়মে একটি 1 চর মাথা, একটি শরীর এবং একটি আন্ডারস্কোর থাকে। যতক্ষণ না নিয়ম শুরুর দিকে কেটে ফেলা যায় ততক্ষণ নিয়মের শিরোনামটি বাকী অংশে তার শরীরের সাথে প্রতিস্থাপন করা হয়। প্রথম নিয়মের প্রধান প্রদত্ত হয়, নিম্নলিখিত সমস্ত নিয়মের প্রধানগুলি চলক from i থেকে উত্পন্ন হয়।

যেহেতু পরের নিয়মের শিরোনাম পূর্ববর্তী নিয়মের দ্বারা পাঠের শুরুতে রাখা হয়েছে, শেষ বিধিটি এমন একটি চরিত্র তৈরি করবে যা আর সরানো হবে না। আমাকে একাধিক নাম নির্বাচন করতে হয়েছিল যেখানে সর্বশেষ নামটি "ডাব্লু" হবে, তাই আমি গানের কথাটি শুরু থেকে মূল "ডাব্লু" কে সরিয়ে ফেলতে পারি এবং এটির পরিবর্তে নিয়মের প্রতিস্থাপন করা হত।

এনকোডিংটি একটি পাইথন স্ক্রিপ্ট দ্বারা একটি সাধারণ পাহাড়ী আরোহণ অ্যালগরিদম ব্যবহার করে করা হয়েছিল।

পার্ল কোডটি এখানে:

$_="qou_on_er_Hh_ w_
(Ooh_ell_ a_ay it
_'reHoC_g0na _makeR _ve_ oth1 _ing_e ___A_t's been _o _D_4, gP)_
Yq_G_ t_I_ know_
NT_nd _ how I'm feel=
_N_O_i;R up_4)Kgi;, nTgi;
(GP)_ yq_
I just3annaH5RMGotta :und1stand
V_e;r 9_
We';Jn each<for sCl0gFr hearBach= butF8shyHCs7Insid>w>bothJ3haBgo= 0
WeJ2>gam>aLwe'r>9pl7_KgPKletR downKrun6rqLaLdes1tRK:cryKsay goodbyeKt56 li>aLhurtR
_e'r>nCstrang1sHClo;FJ2>rules6LsCdCI
A full commitment's3hat I'm2ink= ofF3qldn't get2is from6ny<guySUALifR6sk meMD0'tH5 meR8bliLtCsee
VVEEQQ
USVV";$i=48;eval"s/$1/$2/g"while s/(.)(.*?)_/chr($i++)/se;print

(আমি এটি লক্ষণীয় বোধ করি যে সংকুচিত পাঠ্যে "হিয়ারব্যাচ" রয়েছে: ডি)

এবং এখানে পাইথন কোড যা এটি উত্পন্ন করে:

import collections, sys
text = sys.stdin.read().replace('\r\n','\n')
text = text[1:]
names = list(["q"] + map(chr, xrange(ord('0'), ord('W'))))
done = False
name = ""
while not done:
    done = True
    best = (0, None)
    for m in xrange(1, len(text) / 2 + 1):
        counter = collections.Counter()
        for i in xrange(0, len(text) - m + 1):
            snippet=text[i:i+m]
            if not '_' in snippet:
                counter[snippet] += 1
        for snippet in counter:
            n = counter[snippet]
            gain = n * m - n - (m + 1)
            if gain > best[0]:
                actual_gain = len(text) - len(text.replace(snippet,"")) - n - (m + 1)
                if actual_gain > best[0]:
                    best=(actual_gain, snippet)
                    done=False
    if not done:
        snippet = best[1]
        try:
            lastname = name
            name = names.pop()
            while name in 'ADGION':
                text = name + '_' + text
                name = names.pop()
            while name in '?@':
                text = '_' + text
                name = names.pop()
        except:
            sys.stderr.write('Warning: out of names.\n')
            lastname = "0"
            break
        text = snippet + '_' + text.replace(snippet, name)
sys.stdout.write('$_="')
sys.stdout.write(name + text)
sys.stdout.write('";$i=' + str(ord(lastname)) + ';eval"s/$1/$2/g"while s/(.)(.*?)_/chr($i++)/se;print')

এটা চিত্তাকর্ষক! তবে আপনার পার্লের সত্যিই কিছু গল্ফ করা উচিত। এই সংক্ষিপ্ত স্নিপেটে আপনি কমপক্ষে পাঁচটি অক্ষর পেয়েছেন যা হ্রাস করা যায় (অবিবাহিত পেরেন এবং এর মতো)।
ব্রেডবক্স

5 চর? আমি একটি ফর-লুপ ব্যবহারের জন্য একটি পেয়েছি, 2 ইভাল-প্যারেনের জন্য এবং 1 অব্যবহৃত রেজেক্স-সংশোধকটির জন্য, তবে এখন আমি আটকে আছি। (এখনও আবার অপ্টিমাস এগিয়ে: ডি)
Quasimodo

লুপটির প্রত্যয় রূপ ব্যবহার করার চেষ্টা করুন while; এটি আপনাকে ধনুর্বন্ধনী পাশাপাশি বন্ধনীগুলিও ছাড়তে দেয়। আরেকটি ধারণা: আউটপুটটি করার sayপরিবর্তে কীভাবে ব্যবহার printকরতে হবে তা নির্ধারণ করুন।
ব্রেডবক্স

@ কোসিমোডো আপনি আর নন কেবল একবার এটি বলতে চেয়েছিলেন: পি
অপ্টিমাস

2
হ্যাঁ, এটি অনেক মজা করে। তবে আমি মনে করি আমার সত্যিই এখানেই থামানো উচিত, আমি যে নষ্ট করেছি তার সমস্ত ঘন্টা সম্পর্কে আমি ভাবতে চাই না: ডি
কোসিমোডো

8

পাইথন 2.7, 975 803 বাইট

সর্বাধিক নয় - আমি (এখন) আশা করি অজগরটি এর মতো ফর্ম্যাটিং প্রসারকে করতে পারে। হায় হায় না!

সম্পাদনা করুন: বিকল্প বিন্যাস সিনট্যাক্স (সাজানোর ..) দিয়ে সিমুলেটেড প্রসারণ

print("""We're no strangers to love
You know the rules and so do I
A full commitment's what I'm thinking of
You wouldn't get this from any other guy
{10}{8}
{11}

%s
{13}
And if you ask me{8}
Don't tell me you're too blind to see

%s
%s
{0}, {2})
{0}, {2})
{0})
{1}{12}
{9}
{0})
{1}{12}
{9}

{13}

{10}{8}
{11}

%s
%s
%s"""%tuple(['{1}{2}\n{1}{3}\n{1}{4}\n{1}{5}\n{1}{6}\n{1}{7}']*6)).format(*"(Ooh|Never gonna |give you up|let you down|run around and desert you|make you cry|say goodbye|tell a lie and hurt you\n| how I'm feeling|(Give you up)|I just wanna tell you|Gotta make you understand|give, never gonna give|We've known each other for so long\nYour heart's been aching but\nYou're too shy to say it\nInside we both know what's been going on\nWe know the game and we're gonna play it".split('|'))

7

Clojure

720 বাইট / অক্ষর:

(অতিরিক্ত সাদা স্থান সহ এখানে পুনরুত্পাদন করা যাতে আপনি ফর্ম্যাটিংটি দেখতে পারেন)

(let [r{\&" and "\Y"You"\0"\n"\1" you"\2" gonna"\3"give"\5" up"\6"ever"\F" how I'm feeling"\T" to"}
      s str 
      n"0N62 "
      c(s n"315"n"let1 down"n"run around&desert1"n"make1 cry"n"say goodbye"n"tell a lie&hurt10")
      p"0(Ooh, 315)"
      g"0(Give15)"
      q(s n "3, n62 3")
      o"0(Ooh)"
      w(s "0We've known each other for so long0Yr heart's been aching but0Y'reTo shyT say it0Inside we both know what's been going on0We know the game&we're2 play it0")
      u(s "I just wanna tell1F0Gotta make1 understand0")
      v"We're no strangersT love0Y know the rules&so do I0A full commitment's what I'm thinking of0Y wouldn't get this from any other guy0"
      R(s v u c w"And if1 ask meF0Don't tell me1'reTo blindT see0"c c p p o q g o q g\0 w\0 u c c c)]
  (apply s(map #(r% %)R)))      

এর ন্যূনতম বাইট সংস্করণটি কী?
ক্যালকুলেটরলাইন

7

সি # - 605 অক্ষর | টি-এসকিউএল - 795 অক্ষর | সি # - 732 অক্ষর | সি # - 659 টি অক্ষর

এর অনুপ্রেরণার উদ্দীপনা উদাহরণ থেকে এসেছে। এর থেকে আমি কেবলমাত্র বড় পরিবর্তনটি ছিল ততক্ষণে ASCII অক্ষরগুলির অনুসন্ধান করছিলাম যাতে তাদের ঘোষণার দরকার নেই। দুর্ভাগ্যক্রমে, এটি সি #, সুতরাং এটি কীভাবে ছোট করা যায় তা আমি জানি না। আমি একই প্রতিস্থাপন পাঠ্য গ্রহণ করেছি এবং একটি টেম্প টেবিল ব্যবহার করে টি-এসকিউএল কোডটি করেছি।

var f='#';Debug.Print("HWe've0n each o=F forCo long5r hear+@ch>but5E<oChy<C1InsideBe bo=0Bha+;o>onHWe0 =e;ame7weE8pl1|HI justBanna :4*Gotta 2u?Fsta?%|H/93up/let3down/run@rou?7desFt4/2cry/say;oodbye/:@ lie7hurt4|(Ooh)/9,nevF89H(G.|'|(|)| how6feelingH|t's been|, |(Ooh,g.|ive3up)H|HNevF8| know|ay itH|make3|4 | you|HYou| I'm |@? |;onna |give|tell| g| to|th|ing |nd| a|A| w| s|D|'re|er|G|\n"
.Split('|').Aggregate("WeE noCtrangFs< love50 =e rules7so do IHA full commitment'sBhat6=ink>of5Bouldn't;et =is from@ny o=F;uy$H#A? if3ask me*Don't : me4E<o bli?<Cee%%HH--&&#$%%",(x,t)=>x.Replace(f++.ToString(),t)));

টি-এসকিউএল

CREATE TABLE #t(i int IDENTITY(35,1),t varchar(1000) COLLATE Latin1_General_CS_AS) 
DECLARE @s varchar(4000)
SET @s = REPLACE(REPLACE('
INSERT #t SELECT ''We"ve0n each o=F forCo long5r hear+@ch>but5E<oChy<C1InsideBe bo=0Bha+;o>on
We0 =e;ame7weE8pl1|
I justBanna :4*Gotta 2u?Fsta?%|
/93up/let3down/run@rou?7desFt4/2cry/say;oodbye/:@ lie7hurt4|(Ooh)/9,nevF89
(G.|"|(|)| how6feeling
|t"s been|, |(Ooh,g.|ive3up)
|
NevF8| know|ay it
|make3|4 | you|
You| I"m |@? |;onna |give|tell| g| to|th|ing |nd| a|A| w| s|D|"re|er|G'''
,'"',''''''),'|','''
INSERT #t SELECT ''')
EXEC(@s)
SET @s = 'WeE noCtrangFs< love50 =e rules7so do I
A full commitment''sBhat6=ink>of5Bouldn"t;et =is from@ny o=F;uy$
#A? if3ask me*Don"t : me4E<o bli?<Cee%%

--&&#$%%'
SELECT @s = REPLACE(@s, CHAR(#t.i), #t.t) FROM #t
PRINT @s

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

static void Main()
{
var o="6Gn/tr7g0s,+lo-FJrules.Ds+d+}$z8ull commit9nKLtR1ink:ofF23ldn't4et1is8rom.nyUguy]Xn_zDifC.sk 9[\"5't,I 9CM+bliDt/;^^$N<N\\<X_]^^";
for(char z='\0',y;z<12;z++)
{y='_';for(int i=0,f=333,k=65;i<z;k=y-"'?MRTQNL@(} "[i++]){
for(;y>"^]\\[ZVROB) y"[i];){
f-=k;
o=o.Replace(y--.ToString(),"AWGINODY\n,&'()e o  tve a+ser,h wou gon{ean fmeH eeS)tCowaDr oti- y3nd $~P$#3'r*ingellQ1*t's2haGtoT%4ache-@V kn> }'mBC up$(!oh Ah0 g5na K b;n $$6'-QmakeC ay it$ h>R8;lH$<T)EgB% nPgB$(|$} just27na,IC[|Ata Yund0st7d^$EgSEle= d>nErun.r3D?des0=EYcryEsay4oodbyeEtI. li*?hur= eOUfo@s+l5gF@hearWO:butFM/hy,/Z}nsid*w*bAhQLWgo:5$6Jgam*?weGVplZ".Substring(f,k));
if(y==' '){y='~';i++;}}}}
Console.WriteLine(o);
}

সি # তে তৃতীয় চেষ্টা করুন। এবার আমি \ b, \ r, \ t অক্ষর দিয়ে মেয়াদ শেষ করেছি। আপনি মূলধন এন দিয়ে লাইনের প্রথম অক্ষরটি প্রতিস্থাপন করতে \ rN \ n ব্যবহার করতে পারেন তবে এটি অক্ষরগুলি সংরক্ষণ করে নি। আমি কার্সারটি আবার সরিয়ে নিয়ে existing b উপকরণ তৈরি করেছি এবং তারপরে বিদ্যমান পাঠ্যটিতে লিখতে চাই। তবে এই সংরক্ষিত জায়গার কোনওটিই নয় এবং শেষ পর্যন্ত আমি সাধারণ অনুসন্ধান এবং প্রতিস্থাপনের কৌশলটির চেয়ে খারাপ ছিলাম।

static void Main()
{
    var f='*';
    Console.Write("C04EC0let8downEC0run arouKJdes>t8EC06cryEC0say goodbyeEC0tePa lie Jhurt8E|CWe'veQn each=for sLlongC7r hear?<achFbutC75HoLshyHLs;Inside we bothQ wha?<goFonCWe3ga@ Jwe51pl;|,|CI just wannaHell82CGotta 6und>stJC|(Ooh)C0:, 91:EC(4)R(GC|(Ooh, 4)C|91| gonna |how I'm feelF|QHhe |:8up|'re|make8|You| you |nev>|give|ay itC|been | oth> |er|t's |me|A|EC0|\n|D|RN|ing |G| t|I|aK|nd |o |n't |N|O|ll | know|\r"
    .Split('|')
    .Aggregate(
        "We5 nLstrang>sHLloveC73rules JsLdLICA fuPcommit@n?what I'mHhinkFofC7 wouldMgetHhis from any=guy-*C+AKif8ask @ 2CDoMteP@8\b5HoLbliKtLseeC*C*CC//..+-*C*C*",
        (x,t)=>x.Replace(f++.ToString(),t)));
}

আমি চতুর REPLACEপন্থাটি পছন্দ করি , বিশেষত গতিশীল এসকিউএল সহ, তবে আরও গল্ফ করার আরও অনেক উপায় রয়েছে: @পরিবর্তে ভেরিয়েবল হিসাবে ব্যবহার করুন @s, পরিবর্তে এটি একটি স্থায়ী টেবিল tকরুন #t(আপনাকে নিজের পরে পরিষ্কার করতে হবে না), 29-অক্ষরের বর্ণনামূলক বিবৃতি থেকে মুক্তি পান এবং এটি সঠিক কোলিশন, ব্যবহার varchar(999)বা varchar(max), সমান লক্ষণ এবং কমা ইত্যাদির
সমীপে

587 - মন্তব্যের দৈর্ঘ্যের সীমাবদ্ধতার কারণে লিঙ্কটি পাসবিনে রয়েছে।
দানা

7

পিএইচপি, 591 585 568 564 বাইট

<?=strtr(ucwords(str_replace(range('-',a),split(q,"/3/let@d_n/runxarouPxBdese5/?cry/sayxKodbye/7VliLBhu5
q;)/4,x04
 3)q
0qneOUCq;,x3)q
ixju[TNnax7J6KttV?uPR[Nd
q4@upqgiOqrZJqxh_If`lA
qtellxq
S'O=nxeach<foUsMlXg>UheartDachAxbut>HshyEsG\sidLwLboY=FDKAxX
S:gamLB9CplGqS'rLq=QhLq
 oohqxoYRxqxkn_q
Jqmake@qxJxq\gqNdxqgXnVq'^b`nxqQMqThatqayxit
q'rLtoMqxz'mxqyouq".join(q,str_split(goexoxanvendxterwexwrxaxmeonthtxstinulsxoweea,2))),"9nM[rNgRsEloO>:r]e^BsMdMz
Vf]lxcommitWnt'sFIY\kAxof>To]dn'ZgetxYi^fromxNy<guy2-8Bif@askxW6dX'tx7mLJHbliPEs`
--11..
82---")),'x z',' (I');

আমি মনে করি আপনি কোডটিতে কিছু হারিয়ে যাচ্ছেন; এটি ত্রুটির কারণ বলে মনে হচ্ছে: ideone.com/WxIpG
ক্রিশ্চিয়ান লুপাস্কু

এটি পিএইচপি 5.4। পুরানো সংস্করণগুলির জন্য [z => xx] অ্যারে (z => xx) এর সাথে প্রতিস্থাপন করুন (এবং 590 বাইট পান)
একটি দু: খিত

হ্যাঁ, ideone.com/o8hdU কাজ করে। চমৎকার, +1!
ক্রিশ্চিয়ান লুপাস্কু

1
একটি সংক্ষিপ্ত পিএইচপি সমাধান (আমার রুবি কোড থেকে নিয়ম ব্যবহার করে): আদর্শ one.com/XoW5t
এড এইচ।

হ্যাঁ, অনুমান করুন "নিম্নতম সবকিছু!" সব পরে একটি খারাপ ধারণা ছিল) দুর্দান্ত!
দু: খিত

7

রুবি, 1014 বাইট

আমি কেবল প্রোগ্রামিং শিখছি, তাই আমি এখানে কোনও রেকর্ড ভঙ্গ করব না। তবে, এটি একটি মজাদার কাজ ছিল।

def c
  wonts = ['give you up', 'let you down', 'run around and desert you', 'make you cry', 'say goodbye', 'tell a lie and hurt you']
  wonts.each do |w|
    puts "Never gonna #{w}"
  end
  b
end

def b
  puts "\n"
end

def never
  puts "Never gonna give, never gonna give
(Give you up)"
end

def v1
puts "We're no strangers to love
You know the rules and so do I
A full commitment's what I'm thinking of
You wouldn't get this from any other guy
I just wanna tell you how I'm feeling
Gotta make you understand"
b
end

def v2
  puts "We've known each other for so long
Your heart's been aching but
You're too shy to say it
Inside we both know what's been going on
We know the game and we're gonna play it"
end

def s1
puts "And if you ask me how I'm feeling
Don't tell me you're too blind to see"
end

def s2
b
puts "I just wanna tell you how I'm feeling
Gotta make you understand"
b
end

def soul
2.times {puts "(Ooh, give you up)"}
puts "(Ooh)"
never
puts "(Ooh)"
never
end

v1
c
v2
s1
b
c
c
soul
b
v2
s2
c
c
c

2
কিছু টিপস: প্রতিটি পরিবর্তনশীল নামকে একটি-অক্ষর নামে পরিবর্তন করুন, ইনডেন্টেশন সরান এবং অপারেটরগুলির আশেপাশের স্থানগুলি সরিয়ে দিন
টাকসক্রাফটিং

6

গল্ফস্ক্রিপ্ট (511 বাইট)

এটি বিটগুলিকে প্যাক করতে বেসের পরিবর্তন ব্যবহার করে, সুতরাং এতে অক্ষরগুলি রয়েছে যা ASCII তে নেই। তবে, তাদের ইউটিএফ -8 এনকোডিং দ্বারা এই অক্ষরগুলি স্কোর করা উপযুক্ত নয় কারণ দোভাষী দের সাথে প্রোগ্রামটিকে আইএসও -8859-1 হিসাবে বিবেচনা করে। এই কারণে আমি অক্ষরের চেয়ে দৈর্ঘ্যটি বাইটে নির্দিষ্ট করেছি।

বেস -৪৪ এনকোডযুক্ত:

J4w1DTwkp317WvYq88CFQym52dINzC36obopJBLKCGZZHq1S+tpz79e4/JdDYS2cdIlm+LUARZ1w
wpJyGDhagRfmNaJWjOt8yZIiIFai/7cMAeKucCTyZpkYmCb/7ogGRwfR1dV0z9wEOoIFo0dudezp
ERmcWcJ7X1CUcUsVz17ScmG7T2SbTnooFFINjz7y1yW9i7k9iFTM/afWhI4A/wuqo6jPRezucfGQ
g1xcvmEsidxT+jKCaYv3Gh4lvcfMdklUNqqeQG/tMDVrk0pUQjz5CVFcJ5uYRLAPzfwQI5sUKHzO
rBZrx/hAC9MPISJPKAQLP4dU3Yy14zL/djogoBxkG1DNRMoPEtwHIZmEPwaELWshCTdS+vF+zI6X
ei7BL5bqVhXZdKGqPFjHS0+rQfHUDUfggt/AkIGfV/focklq9IXmqINpS4eroTqzCMLJQpiZiTXm
7jdu1xqm1hftTPEr/VteBOCqKIsx596o+/ZaGRi/opjley/l2bnZi4Z6L+TZsqUqyj4Pfhf4JFiw
9a/kcBffIu2yWmQGgSOeHwcyllCMvL27qtw1+CEKtuya5ITI1oRWUasTSdBWin3XBQePAWEW7dp7
qoiP1osWiicyNTZiYXNlIDE1M2Jhc2VbMF0vKDMwLHtcWzEkKV0vXDIkPSp9L1wsKXstfSslKw==

হেক্স ডাম্প (আউটপুট থেকে xxd):

0000000: 278c 350d 3c24 a77d 7b5a f62a f3c0 8543  '.5.<$.}{Z.*...C
0000010: 29b9 d9d2 0dcc 2dfa a1ba 2924 12ca 0866  ).....-...)$...f
0000020: 591e ad52 fada 73ef d7b8 fc97 4361 2d9c  Y..R..s.....Ca-.
0000030: 7489 66f8 b500 459d 70c2 9272 1838 5a81  t.f...E.p..r.8Z.
0000040: 17e6 35a2 568c eb7c c992 2220 56a2 ffb7  ..5.V..|.." V...
0000050: 0c01 e2ae 7024 f266 9918 9826 ffee 8806  ....p$.f...&....
0000060: 4707 d1d5 d574 cfdc 043a 8205 a347 6e75  G....t...:...Gnu
0000070: ece9 1119 9c59 c27b 5f50 9471 4b15 cf5e  .....Y.{_P.qK..^
0000080: d272 61bb 4f64 9b4e 7a28 1452 0d8f 3ef2  .ra.Od.Nz(.R..>.
0000090: d725 bd8b b93d 8854 ccfd a7d6 848e 00ff  .%...=.T........
00000a0: 0baa a3a8 cf45 ecee 71f1 9083 5c5c be61  .....E..q...\\.a
00000b0: 2c89 dc53 fa32 8269 8bf7 1a1e 25bd c7cc  ,..S.2.i....%...
00000c0: 7649 5436 aa9e 406f ed30 356b 934a 5442  vIT6..@o.05k.JTB
00000d0: 3cf9 0951 5c27 9b98 44b0 0fcd fc10 239b  <..Q\'..D.....#.
00000e0: 1428 7cce ac16 6bc7 f840 0bd3 0f21 224f  .(|...k..@...!"O
00000f0: 2804 0b3f 8754 dd8c b5e3 32ff 763a 20a0  (..?.T....2.v: .
0000100: 1c64 1b50 cd44 ca0f 12dc 0721 9984 3f06  .d.P.D.....!..?.
0000110: 842d 6b21 0937 52fa f17e cc8e 977a 2ec1  .-k!.7R..~...z..
0000120: 2f96 ea56 15d9 74a1 aa3c 58c7 4b4f ab41  /..V..t..<X.KO.A
0000130: f1d4 0d47 e082 dfc0 9081 9f57 f7e8 7249  ...G.......W..rI
0000140: 6af4 85e6 a883 694b 87ab a13a b308 c2c9  j.....iK...:....
0000150: 4298 9989 35e6 ee37 6ed7 1aa6 d617 ed4c  B...5..7n......L
0000160: f12b fd5b 5e04 e0aa 288b 31e7 dea8 fbf6  .+.[^...(.1.....
0000170: 5a19 18bf a298 e57b 2fe5 d9b9 d98b 867a  Z......{/......z
0000180: 2fe4 d9b2 a52a ca3e 0f7e 17f8 2458 b0f5  /....*.>.~..$X..
0000190: afe4 7017 df22 edb2 5a64 0681 239e 1f07  ..p.."..Zd..#...
00001a0: 3296 508c bcbd bbaa dc35 f821 0ab6 ec9a  2.P......5.!....
00001b0: e484 c8d6 8456 51ab 1349 d056 8a7d d705  .....VQ..I.V.}..
00001c0: 078f 0161 16ed da7b aa88 8fd6 8b16 8a27  ...a...{.......'
00001d0: 3235 3662 6173 6520 3135 3362 6173 655b  256base 153base[
00001e0: 305d 2f28 3330 2c7b 5c5b 3124 295d 2f5c  0]/(30,{\[1$)]/\
00001f0: 3224 3d2a 7d2f 5c2c 297b 2d7d 2b25 2b    2$=*}/\,){-}+%+

সর্বাধিক সেরা সমাধান হিসাবে, এটি স্ট্রিং বিভাজন সহ ব্যাকরণ-ভিত্তিক পদ্ধতির ব্যবহার করে ব্যাকরণকে প্রসারিত করতে যোগ দেয়। ব্যাকরণের 30 টি নিয়ম রয়েছে এবং এটি একটি লোভী অনুসন্ধানে পাওয়া গেছে।


6

জাভাস্ক্রিপ্ট, 854 টি অক্ষর ("পঠনযোগ্যতা" এর জন্য নতুন লাইন যুক্ত হয়েছে)

var a="We're no strangers to love:You know the rules and so do I:A full commitment's what I'm thinking of:You wouldn't get this from any other guy:I just wanna tell you how I'm feeling:Gotta make you understand:Never gonna give you up:Never gonna let you down:Never gonna run around and desert you:Never gonna make you cry:Never gonna say goodbye:Never gonna tell a lie and hurt you:We've known each other for so long:Your heart's been aching but:You're too shy to say it:Inside we both know what's been going on:We know the game and we're gonna play it:And if you ask me how I'm feeling:Don't tell me you're too blind to see:6:7:8:9:10:11:6:7:8:9:10:11:(Ooh, give you up):31:(Ooh):Never gonna give, never gonna give:(Give you up):33:34:35:12:13:14:15:16:4:5:6:7:8:9:10:11:6:7:8:9:10:11:6:7:8:9:10:11".split(':'),
i=0,x;
while(x=a[i++])console.log(a[x]||x)


5

সাদামাটা শ / প্রতিধ্বনি - 810 বাইট

#!/bin/sh
A="ever gonna"
D=" you"
B="ive$D up"
C="$A give"
echo "We're no strangers to love
You know the rules and so do I
A full commitment's what I'm thinking of
You wouldn't get this from any other guy
I just wanna tell$D how I'm feeling
Gotta make$D understand"
f(){
echo "
N$C$D up
N$A let$D down
N$A run around and desert$D
N$A make$D cry
N$A say goodbye
N$A tell a lie and hurt$D"
}
f
g(){
echo "
We've known each other for so long
Your heart's been aching but
You're too shy to say it
Inside we both know what's been going on
We know the game and we're gonna play it"
}
g
echo "And if$D ask me how I'm feeling
Don't tell me$D're too blind to see"
f
f
echo "
(Ooh, g$B)
(Ooh, g$B)
(Ooh)
N$C, n$C
(G$B)
(Ooh)
N$C, n$C
(G$B)"
g
echo
echo "I just wanna tell$D how I'm feeling
Gotta make$D understand"
f
f
f

5

জাভাস্ক্রিপ্ট 789 টি অক্ষর

আমার জাভাস্ক্রিপ্ট ("ডকুমেন্ট.ওরাইট ()" দিয়ে মুদ্রণ):

eval('f="18927993248999".replace(/1/g,"Were no strangers to love4You6тe rules and so do I4A full commitmentжs what Iжm тinking of4You wouldnжt get тis from any oтer guy4ю8/g,"I just wanna tellйhow Iжm feeling4Gotta makeйunderstand44ю9/g,"Neverгgiveйupвгletйdownвгrun around and desert youвгmakeйcryвгsay goodbyeвгtell a lie and hurt you44ю2/g,"Weжve known each oтer for so long4Your heartжs been aching but4Youжre too shy to say it4Inside we boт6whatжs been going on4We6тe game and weжreгplay it4ю7/g,"And ifйask me how Iжm feeling4Donжt tell me youжre too blind to see44ю3/g,"ц, gяц, gяц)вгgive, neverгgive4(Gяц)вгgive, neverгgive4(Gя4 ют/g,"thюя/g,"iveйup)4юй/g," you юв/g,"4Neverю4/g,"</br>юц/g,"(Oohю6/g," know юг/g," gonna юж/g,"\'");document.write(f);'.replace(/ю/g,"\").replace(/"))

আমি সিরিলিক বর্ণগুলির সাথে কিছু সাধারণ শব্দ এবং বাক্যাংশগুলি পরিবর্তন করি এবং তারপরে এটিকে প্রতিস্থাপন () ফাংশন দিয়ে ফিরিয়ে আনি।

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


5

রুবি, 741 678 657 627 619 বাইট

_="12/3400/5/3/200"
28.times{|i|_.gsub!'120=34589%#^*&@!/?><[]|{}:;~'[i],"We? n{strangers] love/>& the rules!s{d{I/A full commitment's}hat:thinking of/>}ouldn't~et this from;ny<guy/+I just}anna [*@/Gotta make* understand/0+=g#=let* down=run;round!desert*=make* cry=say~oodbye=[; lie!hurt*/+/N^+We've&n each<for s{long/>r heart's been;ching but/>?]{shy] say it/Inside}e both&}hat's been~oing on/We& the~ame!we?|play it/+And if*;sk me@/Don't [ me*?]{blind] see/+8899+(Ooh,~#)/+(Ooh)/N%, n%/(G#)/+^give+ive* up+ever|+ you+ know+ how:feeling+;nd +\n+'re+You+ other +tell+ to+~onna +o + w+ I'm + a+ g".split('+')[i]}
puts _

এটি একটি পুনরাবৃত্ত প্রতীক প্রসারণ। প্রথম আর্গুমেন্টে স্ট্রিংয়ের ২৮ টি অক্ষরের প্রত্যেকটির জন্য, সেই অক্ষরের gsub!সমস্ত উপস্থিতি _দ্বিতীয় স্ট্রিংয়ের (যথাক্রমে পৃথক +) যথাযথ বিভাগ দ্বারা প্রতিস্থাপিত হয় ।


5

পাইথন, 573 অক্ষর

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

x="WM n=straQRsF=loB7Erules3s=d=IXA full commitSnt'sKhatVFhink;of7KTldn'tUetFhis fromLny9guy.-AC if?Lsk S1Don'tFP S?<bliCF=see//X82)8002)-.//"
i=45
for r in"XXW'BHn each9for s=loQ7r hear6ach;but7<shyF=s@InsideKe bothHKha6go;onXWEgaS3weM:pl@|XI justKannaFP?1Gotta >uCRstaC/|X4g24let? down4runLrTC3desRt?4>cry4sayUoodbye4tPL lie3hurt?|2)J)4giB, n5giBX(G| howV feeliQX|iB? up|LC |XN5|eBr:|t's been |XYT|J,U| othR |Uonna |iQ |MFo=|o |make? | yT|ay itX|A|ve|nd|D|HFhe | t|G| know|I|X(Ooh| w| a|'re|N|O|ell|ng|er|me|ou| g| I'm|We|\n".split("|"):x=x.replace(chr(i),r);i+=1
print x

দ্রষ্টব্য :

  1. মূল ধারণাটি এড এইচ থেকে ধার করা হয়েছিল - প্রতিস্থাপনের নিয়মে প্রতিটি উল্লেখ করার পরিবর্তে প্রতিস্থাপনের জন্য পরপর অক্ষর ব্যবহার করে।

  2. গানে বিদ্যমান চরিত্রগুলির সাথে আমার আচরণ করার উপায় এডের থেকে পৃথক - আমি কেবল নিজেরটিতে অনুবাদ করা নিশ্চিত করে (এবং যদি এটি সর্বদা কিছু অনুসরণ করে তবে এটিও যুক্ত করুন, যা কেবল এটির জন্য কাজ করেছিল W)।

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


আমিও লোভী অ্যালগরিদমের মাধ্যমে স্ট্রিং তৈরি করার চেষ্টা করেছি, যা 11 টি অক্ষর যোগ করে শেষ হয়েছিল। আমি লক্ষ্য করেছি যে সমস্ত অজগর সমাধান কম-বেশি অনুরূপ অনুকূল আকারে রূপান্তরিত করে। আমি অনুমান করি যে এটি তাদের 'এটির কাছে একটিমাত্র সুস্পষ্ট পথ' দিয়ে চলেছে।
অপ্টিমাস

অতীতে, আমি মাঝে মাঝে খুঁজে পেয়েছি যে এর পরিবর্তে বেশিরভাগ লোভী অ্যালগরিদম ব্যবহার করার জন্য এই জাতীয় স্ক্রিপ্টগুলি সংশোধন করতে কাজ করে, দ্বিতীয় বা তৃতীয় স্থানের পছন্দটি নির্বাচন করার জন্য এলোমেলোভাবে কিছুটা opালু যোগ করে এবং এটি বারবার চালানো হয় উন্নতি খুঁজছি। (বা যদি আমি যথেষ্ট অনুপ্রাণিত হয়ে থাকি তবে সিমুলেটেড অ্যানিলিংয়ের মতো একটি হিউরিস্টিক সন্ধান করুন))
ব্রেডবক্স

প্যাটার্ন এবং সংখ্যা গণনার দৈর্ঘ্যের জন্য ভেরিয়েবল সহগের সাথে একটি অভিব্যক্তি হিসাবে আমার লোভী অ্যালগরিদম র‌্যাঙ্কিংয়ের সংশোধন করার জন্য আমি একটি সাধারণ সিমুলেশন চালিয়েছি, সহগের জন্য এলোমেলো মানগুলির সাথে প্রায় 100000 সিমুলেশন (বৃহত্তম প্যাটার্ন সন্ধান করা খুব ধীর গতির) প্রায় করেছি এবং শূন্যের কাছাকাছি গাউসীয় বিতরণ সহ 100), এটি এমন একটি জুড়ি পেয়েছিল যার জন্য আমার ম্যানুয়ালি ক্র্যাঞ্চড স্ট্রিংয়ের চেয়ে 15 কম চর দেওয়া হয়েছিল যা আমার দ্রবণটি 590 অক্ষরে হ্রাস করে। আমি অনুমান করি যে এটি আরও ভাল ফলন দেয় কিনা তা দেখার জন্য আমি রাতারাতি এটি চালিয়ে দেব।
অপ্টিমাস

@ ওপটিমাস, আমি মনে করি প্রথম দুটি অনুবাদগুলি সুস্পষ্ট এবং আপনি সেগুলি হার্ড-কোড করতে পারেন। এটি আমার অনুসন্ধান যুক্তিকে গতিযুক্ত করে। আমার যুক্তিটি মারাত্মকভাবে ধীর - একক রানের জন্য 30 সেকেন্ড - তাই এটি সিমুলেশনটির জন্য কার্যকর নয়। আমি এটি অপ্টিমাইজ করার চেষ্টা করতে পারেন।
ugoren

@ ইউগোরেন আমি আমার উত্তরে আমার সিমুলেশন কোড পোস্ট করেছি এটি প্রতি রানে প্রায় ~ 0.5 সেকেন্ডে চলে এবং হ্যাঁ আমি ইতিমধ্যে প্রথম 3-4 টি ধাপ হার্ডকোড করে যা এটি প্রায় 30 টি অক্ষর দ্বারা হ্রাস করে, কমপক্ষে পার হয়ে যায় বলে মনে হয় না, করতে পারে আপনি একবার দেখুন এবং কিছু পরামর্শ।
অপ্টিমাস

5

গল্ফস্ক্রিপ্ট, 708 702 699 691 বাইট

"Never gonna ":g;
"I just wanna tell you how"" I'm feeling":i"
Gotta make you understand"++:j;
{n"give you up
let you down
run around and desert you
make you cry
say goodbye
tell a lie and hurt you"n/{n g@}%}:^;"

We've known each other for so long
Your heart's been aching but
You're too shy to say it
Inside we both know what's been going on
We know the game and we're gonna play it
":_;
"We're no strangers to love
You know the rules and so do I
A full commitment's what I'm thinking of
You wouldn't get this from any other guy
"j
^
_
"And if you ask me how"i"
Don't tell me you're too blind to see"
^^
n
n
"(Ooh, give you up)
"."(Ooh)
"g"give, never gonna give
(Give you up)"++.n\_
j
^^^

আমি কিছু মিস করছি, তবে আমি ব্লকগুলির কোনও কারণ দেখতে পাচ্ছি না। আপনি কি যেমন ব্যবহার করতে পারবেন না " I'm feeling":i;?
পিটার টেলর

@ পিটারটেলর আপনি পুরোপুরি ঠিক বলেছেন; ব্লকগুলি কেবল তখনই প্রয়োজন যখন আমি কোনও ভেরিয়েবলকে একাধিক স্ট্রিং বরাদ্দ করি। অনেক ধন্যবাদ! এটি 6 টি অক্ষর ছড়িয়ে দেয় এবং কেবলমাত্র আমি চেষ্টা করতে পারি আমাকে আরও একটি ধারণা দেয়।
ক্রিশ্চিয়ান লুপাস্কু

হ্যাঁ, এটা কাজ! ভেরিয়েবলের জন্য একটি ব্লক বরাদ্দ করার পরিবর্তে j, আমি তিনটি কনক্রিটেটেড স্ট্রিং (মুছে ফেলা {এবং }, তবে ++সংমিশ্রনের জন্য যুক্ত ) নিযুক্ত করেছি । iএর সামগ্রীগুলি রচনা করার সময় এটি আমাকে ইনলাইন ঘোষণার অনুমতি দেয় j
ক্রিশ্চিয়ান লুপাস্কু

আমি মনে করি আপনি gনিউলাইনগুলির সাথে একটি একক স্ট্রিং ব্যবহার করে কোরাসটিতে শীর্ষস্থানীয় নিউলাইনটি টেনে এবং আরও কিছু বাঁচাতে পারবেনn/g*
পিটার টেলর

ভালো বুদ্ধি! gশেষের দিকেও এটি ব্যবহার করা হওয়ায় আমি পরিবর্তন করতে পারিনি (আসলে সম্ভব, তবে শেষ পর্যন্ত আরও 1 টি চরিতার্থ করতাম)। যাইহোক, প্রতিটি লাইনের শুরুতে g সন্নিবেশ করানোর জন্য বিভক্ত / ভাঁজ পদ্ধতিটি একটি দুর্দান্ত অক্ষর সংরক্ষণকারী।
ক্রিশ্চিয়ান লুপাস্কু

5

জাভা, 858 বাইট

interface a{static void main(String[]A){String b="I just wanna tell you how I'm feeling\nGotta make you understand\n\n",B="Never gonna give you up\nNever gonna let you down\nNever gonna run around and desert you\nNever gonna make you cry\nNever gonna say goodbye\nNever gonna tell a lie and hurt you\n\n",c="We've known each other for so long\nYour heart's been aching but\nYou're too shy to say it\nInside we both know what's been going on\nWe know the game and we're gonna play it\n",C="(Ooh, give you up)\n",d="(Ooh)\nNever gonna give, never gonna give\n(Give you up)\n";System.out.print("We're no strangers to love\nYou know the rules and so do I\nA full commitment's what I'm thinking of\nYou wouldn't get this from any other guy\n"+b+B+c+"And if you ask me how I'm feeling\nDon't tell me you're too blind to see\n\n"+B+B+C+C+d+d+"\n"+c+"\n"+b+B+B+B);}}

কি দারুন. আমি সত্যিই ভাবিনি যে আমি এটিকে কঠোরভাবে সংকুচিত করতে পারি।

নিখরচায় একটি মানব-পঠনযোগ্য আকারে:

interface a {
    static void main(String[] A) {
        String b = "I just wanna tell you how I'm feeling\n"+
                   "Gotta make you understand\n\n";

        String B = "Never gonna give you up\n"+
                   "Never gonna let you down\n"+
                   "Never gonna run around and desert you\n"+
                   "Never gonna make you cry\n"+
                   "Never gonna say goodbye\n"+
                   "Never gonna tell a lie and hurt you\n\n";

        String c = "We've known each other for so long\n"+
                   "Your heart's been aching but\n"+
                   "You're too shy to say it\n"+
                   "Inside we both know what's been going on\n"+
                   "We know the game and we're gonna play it\n";

        String C = "(Ooh, give you up)\n";

        String d = "(Ooh)\n"+
                   "Never gonna give, never gonna give\n"+
                   "(Give you up)\n";

        System.out.print(
            "We're no strangers to love\n"+
            "You know the rules and so do I\n"+
            "A full commitment's what I'm thinking of\n"+
            "You wouldn't get this from any other guy\n"+
            b+
            B+
            c+
            "And if you ask me how I'm feeling\n"+
            "Don't tell me you're too blind to see\n\n"+
            B+
            B+
            C+
            C+
            d+
            d+
            "\n"+
            c+
            "\n"+
            b+
            B+
            B+
            B
        );
    }
}

আমি এই সাথে 14 উত্তর মারলাম। আমি কি জাভাতে গল্ফ করে সত্যিই ভাল করছি, নাকি এই কারণেই এই গানের লিরিকগুলি আশ্চর্যজনকভাবে সংকোচিত করা সহজ?
dorukayhan

স্ট্রিং এ = "1", বি = "2" এর মতো আপনি ভেরিয়েবলগুলি বরাদ্দ করতে পারবেন না; পরিবর্তে উপরের উপায়? কয়েকটি বাইট সংরক্ষণ করুন: পি
মারিও ইসহাক

@ মারদেভ আমি গল্ফযুক্ত প্রোগ্রামে এর মতো স্ট্রিং তৈরি করেছি। যাইহোক, এটি করার ফলে String foo; String bar;পাঠ্যতা ক্ষতিগ্রস্থ হয় , তাই আমি যখন এলোমেলো করার সময় তাদের পছন্দ করি।
dorukayhan

এই সমস্ত "কখনই হবে না" এটি একটি ভেরিয়েবলে বের
করেও অনুকূলিত করা যায়


4

জাভাস্ক্রিপ্ট, 1428 1451 883 * অক্ষর

অবশ্যই সংক্ষিপ্ততম সমাধান নয়, তবে এটি এখানে যায়।

d="(Give you up):(Ooh):(Ooh, give you up):A full commitment's what I'm thinking of:And if you ask me how I'm feeling:Don't tell me you're too blind to see:Gotta make you understand:I just wanna tell you how I'm feeling:Inside we both know what's been going on:Never gonna give you up:Never gonna give, never gonna give:Never gonna let you down:Never gonna make you cry:Never gonna run around and desert you:Never gonna say goodbye:Never gonna tell a lie and hurt you:We know the game and we're gonna play it:We're no strangers to love:We've know each other for so long:We've known each other for so long:You know the rules and so do I:You wouldn't get this from any other guy:Your heart's been aching but:You're too shy to say it:".split(/:/);"hk3l76o9bdcefojmn8g45o9bdcefo9bdcefo221a01a0oimn8go76o9bdcefo9bdcefo9bdcef".split("").map(function(i){return d[parseInt(i,25)]}).join("\n")

সমাধান যুক্তি বেশ সহজ:

d="dictionary:of:uniqe:lines".split("/:/");
"012345".split("").map(function(i){return d[parseInt(i,25)]}).join("\n")

* অবশ্যই অনন্য শব্দের পরিবর্তে অনন্য লাইন নেওয়ার সময় সমাধানটি অনেক খাটো হয়ে যায়।

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