আপনার সকালের কফি পান করুন


21

এই আসকি কফি কাপ আঁকুন:

  ণ
       ণ
    ণ
 __________
/ \ __
| জ | \
| ক | |
| ভি | |
| এ | __ /
\ __________ /

কফি-স্ক্রিপ্ট বা জাভা জন্য ব্রাউন পয়েন্ট :)

বাইটস, ফাংশন বা প্রোগ্রামের সর্বনিম্ন কোড, নতুন লাইনে বা সাদা স্থান অনুসরণ করে গ্রহণযোগ্য, পান করুন!


37
আমি এক কাপ স্পার্কলিং কফি নিয়ে খুব সন্দেহ করি। ;)
ডেনিস

8
@ ডেনিস শুক্রবার সকালে এটি আমার বিশেষ কফি;)
অ্যারন

1
2 বা ততোধিক পানীয়ের সাথে এটি আরও আকর্ষণীয় হবে না: গরমটি বাষ্পগুলি "(" এবং ")" দিয়ে ঠান্ডা হয়ে উঠবে? এবং রডের মন্তব্য থেকে ধার করে, কোডটি বর্তমান সময়ের উপর ভিত্তি করে এক বা অন্য প্রদর্শন করা উচিত।
manatwork

1
লাইনে শ্বেত স্থান পেছন করা কি গ্রহণযোগ্য হবে?
জোনাথন অ্যালান

2
অ্যারন কাপটির ভাল প্যাটার্ন নেই, হার্ড-কোডিং / কমপ্রেসিং অনেক ভাষায় ছোট হবে
রড

উত্তর:


3

এসওজিএল , 48 বাইট

mγmλ⁶…Jcēņ▒&↓¡℮štΥ{ιE‽▼⅛÷εγ╝Ξ∫$■⌡πθ&χF׀▼ΡQ7L↓F¶‘

ব্যাখ্যা:

এসওজিএলটিতে অন্তর্নির্মিত স্ট্রিং সংক্ষেপণ রয়েছে এবং এর মধ্যে থাকা জিনিসগুলির মধ্যে একটি হল চরের অভিধান সংক্ষেপণ। আরও ভাল, এটিতে একটি বক্স স্ট্রিং সংকোচনের ধরণ রয়েছে যেখানে কেবলমাত্র অক্ষর উপলব্ধ "/ \ | _- \ n"। সুতরাং পুরো প্রোগ্রামটি একটি স্ট্রিংকে "" এ অন্তর্ভুক্ত করা হয়েছে ("" অন্তর্নিহিত)।

আমি যে স্ট্রিংটি সংক্ষেপককে দিয়েছি সেগুলি হ'ল (পালানো):

"  o\n       o\n    o\n ",
"__________",
"\n/          \\__\n|   ",
"J",
"      |  \\\n|    ",
"A",
"     |  |\n|     ",
"V",
"    |  |\n|      ",
"A",
"   |__/\n\\",
"__________",
"/"

16

জাভাস্ক্রিপ্ট (ES6), 110 104 বাইট

Edc65 ধন্যবাদ 4 বাইট সংরক্ষণ করা

let f =

_=>`1o
6o
3o
 9
/44\\__
|2J5|1\\
|3A4|1|
|4V3|1|
|5A2|__/
\\9/`.replace(/\d/g,n=>' _'[n>>3].repeat(++n))

console.log(f())

কিভাবে এটা কাজ করে

আসল এএসসিআইআই আর্টের সংকোচনটি টানা 2 থেকে 10 টি স্পেসের সমস্ত ক্রম এবং 10 টি ধারাবাহিক আন্ডারস্কোর দুটি ক্রমকে একক অঙ্কের সাথে প্রতিস্থাপন করে অর্জন করা হয়:

  • Nপরপর স্পেসের প্রতিটি ক্রমটি অঙ্ক সহ এনকোড করা হয় N-1
  • আন্ডারস্কোর সিকোয়েন্সগুলি ক এর সাথে এনকোড করা আছে 9

আমরা এর N-1চেয়ে বরং ব্যবহার Nকরি যাতে আমাদের কখনই একের বেশি অঙ্ক ব্যবহার করতে না হয় use সুতরাং ++nডিকোডিংয়ের জন্য প্রয়োজন ।

অভিব্যক্তি n>>3(ডান প্রান্তের, bitwise শিফট) জন্য 0 সমান n = 1করতে n = 7এবং জন্য 1 সমান n = 8(অব্যবহৃত) এবং n = 9। সুতরাং, এর ' _'[n>>3]জন্য একটি আন্ডারস্কোর দেয় 9এবং অন্যান্য সমস্ত সম্মুখীন মানের জন্য একটি স্থান দেয় ।

একমাত্র বিশেষ কেসটি "জেভিএ" এর ঠিক উপরে টানা 10 স্থানের ক্রম। এটির সাথে এনকোড করা 9আন্ডারস্কোর সিকোয়েন্সগুলির সাথে বিরোধ করবে। সুতরাং আমাদের এটিকে এনকোডযুক্ত 5 টি স্পেসের দুটি সিকোয়েন্সে বিভক্ত করতে হবে 44


আমি 108 বাইট গণনা করছি (গণনা করছি না f=)। : আপনি এই ভাবে বাইট 4 সংরক্ষণ করতে পারবেন n>>3পরিবর্তে +!(n&7), 9পরিবর্তে _8(দু'বার) এবং 44পরিবর্তে9
edc65

@ edc65 আমি কেন জানি f=না যে আমি কেন এটির মধ্যে গণনা করেছি ... সংরক্ষিত বাইটের জন্য ধন্যবাদ!
আর্নৌল্ড

আপনি কি ব্যাখ্যা করতে পারেন কীভাবে রেজেক্স কিছুটা কাজ করে? এটি প্রদর্শিত হবে যেমন এটি একটি ডিজিট ডি প্রতিস্থাপন করেছিল, ডি স্পেস সহ ('4' হয়ে যায় ' ')। তবে ঠিক কীভাবে এটি হয় তা নিশ্চিত নয়। বিট শিফট কী করে? আমরা এন কেন বাড়িয়ে দিচ্ছি?
ক্রুঙ্কার

1
@ ক্রুনচার আমি একটি 'এটি কীভাবে কাজ করে' বিভাগ যুক্ত করেছি।
আর্নৌল্ড

@Arnauld খুব চালাক :)
Cruncher

16

জেলি , 67 64 বাইট

-2 বাইটস ডেনিসকে ধন্যবাদ (১. অতিরিক্ত রিডান্ট্যান্ট অপসারণ এবং ২. ট্রান্সপোজ এবং রান-দৈর্ঘ্যের ডিকোড প্রতিস্থাপন করুন, ZŒṙউপাদান পুনরাবৃত্তির দ্বারা হ্রাস সহ x/।)

“Ñṁ{xGgṭḷVỤɲ8ṿfƬT9Ɱ¹=qṀS“$<(ƇỤ08ØÑḌṃṘX6~cuc8HṗḞ2’Dx/ị“ ¶_/\|JAVo

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

কিভাবে?

“...“...’ দুটি বেস -250 সংক্ষেপিত সংখ্যার একটি তালিকা:

[1021021021332411532617161526181616261916162618163425334, 2117114111551155121131612111415121115141211161312111551]

D দুটি সংখ্যার তালিকাকে দশমিকায় রূপান্তরিত করে:

[[1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 3, 3, 2, 4, 1, 1, 5, 3, 2, 6, 1, 7, 1, 6, 1, 5, 2, 6, 1, 8, 1, 6, 1, 6, 2, 6, 1, 9, 1, 6, 1, 6, 2, 6, 1, 8, 1, 6, 3, 4, 2, 5, 3, 3, 4], [2, 1, 1, 7, 1, 1, 4, 1, 1, 1, 5, 5, 1, 1, 5, 5, 1, 2, 1, 1, 3, 1, 6, 1, 2, 1, 1, 1, 4, 1, 5, 1, 2, 1, 1, 1, 5, 1, 4, 1, 2, 1, 1, 1, 6, 1, 3, 1, 2, 1, 1, 1, 5, 5, 1]]

x/ অঙ্কের একটি তালিকা দেওয়ার জন্য উপাদান পুনরাবৃত্তি দ্বারা হ্রাস (অন্যটির সাথে সংশ্লিষ্ট মানের দ্বারা প্রথম তালিকা থেকে সংখ্যাটি পুনরাবৃত্তি করা):

[1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, 0, 2, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 3, 3, 2, 6, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1, 6, 1, 1, 5, 2, 6, 1, 1, 1, 1, 8, 1, 1, 1, 1, 1, 6, 1, 1, 6, 2, 6, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 6, 1, 1, 6, 2, 6, 1, 1, 1, 1, 1, 1, 8, 1, 1, 1, 6, 3, 3, 4, 2, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4]

ডানদিকে তালিকাভুক্ত করতে নির্দেশ দেয়, একটি ভিত্তিক এবং মডিউলারি (ডানদিকের আইটেমটিতে 0 টি সূচক)। ডানদিকে তালিকাটি ¶_/\|JAVo, কেবলমাত্র প্রয়োজনীয় ক্রমে ব্যবহৃত চরিত্র যেখানে পাইলক্রো, লাইনফিডের মতো একই কোড পয়েন্ট। প্রোগ্রামটির সমাপ্তি হওয়ায় এর সমাপনী অংশীদারটির প্রয়োজন নেই:

[' ', ' ', 'o', '\n', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'o', '\n', ' ', ' ', ' ', ' ', 'o', '\n', ' ', '_', '_', '_', '_', '_', '_', '_', '_', '_', '_', '\n', '/', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '\\', '_', '_', '\n', '|', ' ', ' ', ' ', 'J', ' ', ' ', ' ', ' ', ' ', ' ', '|', ' ', ' ', '\\', '\n', '|', ' ', ' ', ' ', ' ', 'A', ' ', ' ', ' ', ' ', ' ', '|', ' ', ' ', '|', '\n', '|', ' ', ' ', ' ', ' ', ' ', 'V', ' ', ' ', ' ', ' ', '|', ' ', ' ', '|', '\n', '|', ' ', ' ', ' ', ' ', ' ', ' ', 'A', ' ', ' ', ' ', '|', '_', '_', '/', '\n', '\\', '_', '_', '_', '_', '_', '_', '_', '_', '_', '_', '/']

জেলি এই তালিকার একটি অন্তর্নিহিত মুদ্রণ সম্পাদন করে, যেহেতু এটিতে অক্ষর রয়েছে, প্রিন্ট করে যেন এটি একটি স্ট্রিং ছিল:

  o
       o
    o
 __________
/          \__
|   J      |  \
|    A     |  |
|     V    |  |
|      A   |__/
\__________/

7
আমি শপথ করছি এর মধ্যে কয়েকটি ভাষা
হ'ল


4
অবশ্যই, যে কোনও ভাষা যা কোডের চেয়ে দীর্ঘ সময় পাঠ্য আউটপুট করতে পারে, অবশ্যই কিছু আউটপুট পাঠ্যের আউটপুট পাঠ্যের চেয়ে কোড দীর্ঘতর থাকতে হবে। আমি ধরে নিই যদি আপনি এর জন্য কোডটি পুরো এলোমেলো ইনপুটের জন্য কিছু লেখার চেষ্টা করে থাকেন (যদি আপনি ভাগ্যবান না হন) তবে আরও দীর্ঘতর হবে?
ক্রંચার

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

ফাইনাল অন্তর্নিহিত এবং আপনি এর ZŒṙসাথে প্রতিস্থাপন করতে পারেন x/। এছাড়াও, এতে কোনও বাইট না থাকলেও, আক্ষরিক নতুন লাইনের পরিবর্তে ব্যবহার করা কোডটিকে আরও বেশি পরিবর্তনযোগ্য ইমো করে তোলে।
ডেনিস

9

কফিস্ক্রিপ্ট ES6, 214 180 বাইট

r="replace";" 1o0n0 6o0n0 3o0n0 _9n0/0 9b0_1n0|0 2J0 5|0 1b0n0|0 3A 4|0 1|0n0|0 4V0 3|0 1|0n0|0 5A0 2|0_1/0n0b0_9/0"[r](/\d/g,(a,b,c)->c[b-1].repeat(a))[r](/n/g,"\n")[r](/b/g,"\\")

কফিস্ক্রিপ্ট, হার্ডকডিং সহ 135 বাইট

f=()->"""  o
       o
    o
 __________
/          \__
|   J      |  \\
|    A     |  |
|     V    |  |
|      A   |__/
\__________/"""

8
উপরে / ডাউন ভোট নেই; আমি এই উত্তরটি পছন্দ করি না কারণ সাধারণত কোলমোগোরভ-জটিলতার উত্তরের বিন্দুটি কোডটিতে পুরো জিনিসটি ব্যবহার না করেই আউটপুট উত্পন্ন করা হয়।
হাইপার নিউট্রিনো

@ হাইপারনিট্রিনো, আমি এটির উন্নতিতে কাজ করে সম্মত।
টম

7

পাইথন 2, 174 172 171 167 বাইট

কোনও হার্ড-কোডিং নেই।
বেস -৪৪ এনকোডিং নেই।
কোনও রেজেক্স নেই।

k=' '
q='_'*10
print'\n'.join([k*i+'o'for i in 2,7,4]+[k+q]+['/'+k*10+'\\__']+['|'+k*s+'JAVA'[s-3]+k*(9-s)+'|'+' _'[s==6]*2+'\\||/'[s-3]for s in 3,4,5,6]+['\\'+q+'/'])

Externalizing 2 বাইট সংরক্ষিত '_'*10এবং পাইথন এর রূপান্তর শোষণ দ্বারা True -> 1এবং False -> 0
অপ্রয়োজনীয় সাদা স্থান সরিয়ে 1 বাইট সংরক্ষণ করা হয়েছে।
@ টুকুএক্সএক্সকে 4 বাইট সংরক্ষিত!


আপনি 2 বেহুদা অনুসরণকারী শূণ্যস্থান আছে বলে মনে হচ্ছে ] forএবং in [
ইয়াতসি

আসলে, আপনি খাটো করতে পারেন [2,7,4]এবং [3,4,5,6]করতে 2,4,7এবং 3,4,5,6
Yytsi

7

পাওয়ারশেল , 136 124 123 105 বাইট

"""2o
7o
4o
 $(($a='_'*10))
/55\__
|3J6|2\
|4A5|2|
|5V4|2|
|6A3|__/
\$a/"""-replace'(\d)','$(" "*$1)'|iex

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

-replaceআমি জানতাম যে কোথাও কোথাও ছিল যে ছোট পদ্ধতি আবিষ্কার করার জন্য @ ব্রায়েন্টিস্টকে ধন্যবাদ জানাই ।

এটি খালি জায়গাগুলির প্রয়োজনীয় সংখ্যার জায়গায় সংখ্যার সাথে স্ট্রিং নেয়। এরপরে আমরা -replaceস্ক্রিপ্ট এক্সপ্রেশন দিয়ে অঙ্কগুলি পুনরায় ভাগ করি $(" "*$1)। সুতরাং, উদাহরণস্বরূপ, স্ট্রিংয়ের প্রথম লাইনটি হবে $(" "*2)o, দ্বিতীয়টি হবে $(" "*7)oএবং আরও অনেক কিছু। ট্রিপল-উদ্ধৃতি দেওয়ার কারণে, এটি পাইপলাইনে স্ট্রিং হিসাবে রেখে গেছে। আমরা এটিকে iex(সংক্ষেপে Invoke-Expressionএবং এর সাথে সংকীর্ণ eval) ডাম্প করি যা স্ক্রিপ্ট এক্সপ্রেশনগুলি প্রক্রিয়া করে এবং ফলস্বরূপ বহু-লাইন স্ট্রিংটি পাইপলাইনে ফেলে দেয়। আউটপুট অন্তর্ভুক্ত।


এটি অদ্ভুত, হার্ডকোডিং খাটো। হুঁ। যাইহোক +1 :)
হাইপারনিউটারিনো

আমি উদ্ভাবনী (হাফম্যান) কোডিং স্কিমা ব্যবহার করে কিছু জবাব প্রত্যাশী ছিলাম, তবে আমার অজগর বাস্তবায়ন এখনও আরও দীর্ঘতর হচ্ছে ...
অ্যারন

কোনও কারণে সংক্ষিপ্ত হাতটি যদি / অন্যথায় কাজ করে না মনে হয় ($_,' '*$_)[+$_-in48..57]- আমি যাই পরিবর্তন করি তা আমার পক্ষে ব্যর্থ বলে মনে হয় না।
কলস ডাব্লু

@ কননরএলএসডাব্লু এর কারণ উভয় এক্সপ্রেশন মূল্যায়ন করা হয় এবং সূচী ঘটে যাওয়ার আগে অ্যারেটি নির্মিত হয়। ফলস্বরূপ, PowerShell গুন কিভাবে জানে না spaceদ্বারা oএবং barfs।
অ্যাডমবর্কবার্ক

1
@ ব্রায়েন্টিস্ট এটি সন্ধানের জন্য ধন্যবাদ! আমি জানতাম এটি সেখানে ছিল, এটিকে কাজে লাগানোর জন্য উদ্ধৃতিগুলির সঠিক সংমিশ্রণটি নিয়ে আসতে পারেনি।
অ্যাডমবর্কবার্ক

4

জিএনইউ সেড , 113 112 বাইট

s:$:  o@SS o@S o@ UU@/SSS \\__@|SJSS|  \\@|S AS  |  |@|S  VS |  |@|SSAS|__/@\\UU/:
s:S:   :g
y:@:\n:
s:U:_____:g

বেসিক এনকোডিং, এটা 3 স্পেস হিসাবে সঞ্চয় করে S, \nযেমন @যেমন এবং 5 underlines U। আরও সংক্ষিপ্ত কিছু খুঁজে পেতে আমি সমন্বয়গুলি চেষ্টা করে যাব।

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

স্ট্রিংটি সরাসরি মুদ্রণের তুচ্ছ সমাধান নীচে দেওয়া হয়েছে। এটিতে 136 বাইট রয়েছে, যার ফলে উপরে এনকোডিং স্কিমটি ব্যবহার করে 18% একটি সংকোচন ঘটে।

c\  o\
       o\
    o\
 __________\
/          \\__\
|   J      |  \\\
|    A     |  |\
|     V    |  |\
|      A   |__/\
\\__________/

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



@ রিলে ধন্যবাদ আমি S3 টি ফাঁকা জায়গা না করে সবেমাত্র 1 বাইট কম সমাধান পেয়েছি s। আমি মনে করি পরিবর্তে আমি এটি সম্পাদনা করব, কারণ এটি একই সংখ্যার রূপান্তর রাখে।
শৈশুমারা

4

এমএটিএল, 87 86 83 82 78 বাইট

[TIH][IAC]111Z?c'(ty!(OWM4J4gW{lm> >bw8ch|.FU2W"@\#2Dj!NQDeIMZ'F'_ /|\JAV'Za7e

এই সমাধানটি কফিকে দুটি টুকরো টুকরো করে তোলে: "বুদবুদ" এবং মগ। বুদবুদগুলি তৈরি করতে, আমরা তিনটি স্থানে অবস্থিত 111 দিয়ে একটি স্পার্স ম্যাট্রিক্স তৈরি করে একটি অক্ষর অ্যারে রূপান্তর করি

[TIH][IAC]111Z?c

মগ উপাদানটির জন্য, আমরা স্ট্রিং সংক্ষেপণের উপর নির্ভর করি

'(ty!(OWM4J4gW{lm> >bw8ch|.FU2W"@\#2Dj!NQDeIMZ'F'_ /|\JAV'Za7e

উভয় উপাদান আউটপুট প্রিন্ট করা হয় এবং স্বয়ংক্রিয়ভাবে উপাদানগুলির মধ্যে একটি নতুন লাইন স্থাপন করা হয়

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


4

পাইথন 2 , 128 127 বাইট

রডকে -1 বাইট ধন্যবাদ ( ('_'*10,)কোনও ঘোষণা এড়াতে টিপলের গুণ ব্যবহার করুন )।

print''.join('0'<c<':'and' '*int(c)or c for c in'''2o
7o
4o
 %s
/ 9\__
|3J6|2\\
|4A5|2|
|5V4|2|
|6A3|__/
\%s/'''%(('_'*10,)*2))

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

দ্রষ্টব্য: যে ডবল ব্যাকস্ল্যাশ হয় লাইন ফিড আগে প্রয়োজন।

'''এবং এর মধ্যে সমস্ত কিছু '''একক স্ট্রিং, দুটি হ'ল %sফর্ম্যাটর যা ট্রেলিং %(...)টিপলের সামগ্রী দ্বারা প্রতিস্থাপিত হয় , যার পরিবর্তে '_'*10টিপল গুণনের মাধ্যমে দুটি অনুলিপি থাকে (...)*2'_'*10সঞ্চালিত স্ট্রিং গুণ উত্পাদ '__________'

কোড অক্ষর, ঘোরে c, যে সমগ্র স্ট্রিং এর ব্যবহার for c in '''...এবং যোগদান করে একটি নতুন STRING তৈরি ( join(...))
পারেন দ্বারা চিহ্নিত জায়গার সংখ্যা c, int(c)যদি cএকটি ডিজিট
বা c নিজেই
একটি অঙ্ক হচ্ছে দ্বারা চিহ্নিত করা হয় - '0'<c<':'উপর সংরক্ষণ করতে c.isdigit()


আপনি প্রতিস্থাপন করতে পারেন u,uসঙ্গে ('_'*10,)*2এবং ড্রপ uঘোষণা
ডান্ডা

ওহ, ভাল আমি এটি তাকিয়েছিলাম এবং মনে করি একটি উপায় ছিল - ধন্যবাদ @ রড!
জোনাথন অ্যালান

4

জাভা 8, 294 289 248 বাইট

Golfed:

()->{String s="";for(char c:"\u026F\n\u076F\n\u046F\n __________\n/\u0A5C__\n|\u034A\u067C\u025C\n|\u0441\u057C\u027C\n|\u0556\u047C\u027C\n|\u0641\u037C__/\n\\__________/".toCharArray()){for(int i=0;i<c>>8;++i)s+=' ';s+=(char)(c&255);}return s;}

চেতনায়, স্ট্রিংটি হার্ড-কোড করে না। পরিবর্তে, এটি একটি মুদ্রণযোগ্য চরিত্রের পরে একাধিক স্পেসের অনেকগুলি কেস রয়েছে তা এই সত্যটি ব্যবহার করে। এটি নিম্ন-অর্ডার বাইটে প্রকৃত ASCII চরিত্রের সাথে অক্ষরের হাই-অর্ডার বাইটে একটি অক্ষর পূর্ববর্তী স্থানগুলির সংখ্যা এনকোড করে।

Ungolfed:

import java.util.function.*;

public class DrinkYourMorningCoffee {

  public static void main(String[] args) {
    System.out.println(f(
    () -> {
      String s = "";
      for (char c : "\u026F\n\u076F\n\u046F\n __________\n/\u0A5C__\n|\u034A\u067C\u025C\n|\u0441\u057C\u027C\n|\u0556\u047C\u027C\n|\u0641\u037C__/\n\\__________/".toCharArray()) {
        for (int i = 0; i < c >> 8; ++i) {
          s += ' ';
        }
        s += (char) (c & 255);
      }
      return s;
    }
    ));
  }

  private static String f(Supplier<String> s) {
    return s.get();
  }
}

আমি মনে করি উচ্চ বাইটে কোনও চরিত্রের আগে নেতৃস্থানীয় স্পেসগুলির সংখ্যা এনকোড করা ভাল। সুতরাং, একটি 'এ' এর আগে ছয়টি ফাঁকা স্থান এনকোড হবে \u0641
ডেভিড কনরাড

@ ডেভিডকনরাড কেন দু'জনেই করবেন না? স্ট্রিংয়ের কোথাও টানা দশটির বেশি পুনরাবৃত্তি নেই এবং দশমিক দশটি হেক্সে ফিট করে F। উভয় সেখানে ফিট করা সম্ভব হওয়া উচিত।

এটা একটা ভাল দিক.
ডেভিড কনরাড

1
@ ডেভিডকনরড এটি শেষ করে আমার দ্বিতীয় লুপটি যুক্ত করার কারণে ফাইলের আকারটি আরও বড় করা শুরু হয়েছিল। তবে আমি হেক্সকে দশমিক ধনুতে রূপান্তর করে কয়েকটি বাইট সংরক্ষণ করেছি save 0xউপসর্গটি হারাতে সহায়তা করেছে।

1
দুটি এনকোডিং রয়েছে যা কার্যকর দেখাচ্ছে: খালি জায়গা এবং পুনরাবৃত্তির সংখ্যা। আপনি সঠিক ছিলেন: স্পেসের সংখ্যা এনকোড করা নেট লাভ। আমি অন্যান্য কোডগুলির কয়েকটি গল্ফ করতে সক্ষম হয়েছি ( ifউদাহরণস্বরূপ, এটি রিডানড্যান্ট) উদাহরণস্বরূপ এবং আকারের 1 /। ষ্ঠ কাছাকাছি শেভ করতে পেরেছি ।

2

বেফুঞ্জ, 158 105 101 বাইট

<v"XaXXXNYXNY77777'XXXXX2_TXQXX0XZTXDXX0X^TXXRX0X^TXXDX07]27777#"p29+55
:<_@#:,g2/+55,g2%+55
\JV/|_Ao

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

স্ট্রিংয়ের অক্ষরগুলি প্রথমে দশটি সম্ভাব্য মানের একটি সারণীতে সূচক হিসাবে এনকোড করা হয়। সূচকগুলি পরে জোড়ায় বিভক্ত করা হয়, প্রতিটি জোড়া 0 থেকে 99 এর মধ্যে একক সংখ্যায় (আই 1 + আই 2 * 10) একত্রিত হয় the ASCII অক্ষর যা স্ট্রিং আক্ষরিক হিসাবে উপস্থাপন করা যায়।

এটি কোডের নিজেই একটি ব্রেকডাউন:

কার্যকরকরণের পাথ সহ উত্স কোড

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


2

রেটিনা , 71 বাইট

আমার অন্য উত্তর থেকে পৃথক , এই এক হাতে লেখা ছিল।


2o¶6o¶3o¶1=¶/55\__¶|3J6|2\¶|4A5|2|¶|5V4|2|¶|6A3|__/¶\=/
=
10$*_
\d
$* 

(শেষে একটি পিছনে স্থান আছে)

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

নীতিটিতে এখনও একটি "সংকুচিত" স্ট্রিং রয়েছে যা থেকে কফির কাপটি প্রতিস্থাপনের মাধ্যমে পুনর্গঠন করা যায়। বিভিন্ন বিকল্পের চেষ্টা করে দেখা গেল যে করণীয় কেবলমাত্র তা হ'ল:

  • =__________(10 আন্ডারস্কোর) এ পরিণত হয়
  • যেকোন সংখ্যা ফাঁকা সংখ্যায় পরিণত হয়

2

কমন লিস্প, 125 123 122 120 114 বাইট

(format t"~3@{~vto
~} ~10@{_~}
/~11t\\__
|   J~11t|  \\
~2@{|~5t~a~11t|  |
~}|~7tA   |__/
\\~10{_~}/"2 7 4'A" V"1)

আমি 6 টি বাইট সংরক্ষণ করেছি, ~&s এর পরিবর্তে কেবল স্ট্রিংগুলিতে প্রবেশের ধারণাটি ব্যবহার করে ।

উন্নতির জন্য আদর্শ স্বাগত জানাই।


1

পাইথন 3, 206 বাইট

print('  o\n'+7*' '+'o\n'+4*' '+'o\n'+' '+10*'_'+'\n'+'/'+10*' '+'\__\n'+'|'+3*' '+'J'+6*' '+'|  \\\n'+'|'+4*' '+'A'+5*' '+'|  |\n'+'|'+5*' '+'V'+4*' '+'|  |\n'+'|'+6*' '+'A'+3*' '+'|__/\n'+'\\'+10*'_'+'/') 

2
অনেক স্পেস অক্ষর… আরও ভাল একটি s=' 'ভেরিয়েবল ঘোষণা এবং এটি ব্যবহার করুন।
manatwork

এছাড়াও নতুন লাইনের পূর্বনির্ধারিত ক্ষতি করতে পারে না
গম উইজার্ড


@ উইট উইজার্ড, আমি এটি মনে করি না। কেবলমাত্র একক একা একা নতুন লাইন। অন্যগুলি স্ট্রিংয়ের অভ্যন্তরে রয়েছে, সুতরাং একটি ভেরিয়েবল ব্যবহার করার জন্য একটি সংক্ষিপ্ত অপারেটর প্রয়োজন। এবং 'o\n'একই দৈর্ঘ্য আছে 'o'+n
manatwork

2
@ মান্যাট ওয়ার্ক ওয়ান, print(*(' o',7*' '+'o',4*' '+'o',' '+10*'_','/'+10*' '+'\__','|'+3*' '+'J'+6*' '+'| \\','|'+4*' '+'A'+5*' '+'| |','|'+5*' '+'V'+4*' '+'| |','|'+6*' '+'A'+3*' '+'|__/','\\'+10*'_'+'/'),sep='\n')অথবা for x in(' o',7*' '+'o',4*' '+'o',' '+10*'_','/'+10*' '+'\__','|'+3*' '+'J'+6*' '+'| \\','|'+4*' '+'A'+5*' '+'| |','|'+5*' '+'V'+4*' '+'| |','|'+6*' '+'A'+3*' '+'|__/','\\'+10*'_'+'/'):print(x)উভয়ই 197 এর মতো হতে পারে Still 136 হার্ড কোডের চেয়ে এখনও বেশি ।
জোনাথন অ্যালান


1

সি - 179

ফর্ম্যাট স্ট্রিংয়ের ব্যাপক ব্যবহার সহ সমাধান:

void f(){printf("%1$3c\n%1$8c\n%1$5c\n%2$11s\n/%3$13s\n|%4$4c%5$7c%6$3c\n|%7$5c%5$6c%5$3c\n|%8$6c%5$5c%5$3c\n|%7$7c%5$4c__/\n\\%2$s/\n",'o',"__________","\\__",74,'|',92,65,86);}

এখানে আরও পাঠযোগ্য সংস্করণ:

void f() {
  printf("%1$3c\n"
         "%1$8c\n"
         "%1$5c\n"
         "%2$11s\n"
         "/%3$13s\n"
         "|%4$4c%5$7c%6$3c\n"
         "|%7$5c%5$6c%5$3c\n"
         "|%8$6c%5$5c%5$3c\n"
         "|%7$7c%5$4c__/\n"
         "\\%2$s/\n"
         'o',"__________","\\__",'J','|','\','A','V');
}

1
void g(){puts(" o\n o\n o\n __________\n/ \\__\n| J | \\\n| A | |\n| V | |\n| A |__/\n\__________/\n");}
নিষ্ঠুর

1

রেটিনা , 99 বাইট

এই সমাধানটি ব্যবহার করে স্বয়ংক্রিয়ভাবে উত্পন্ন হয়েছিল এই স্ক্রিপ্টটি এই


0 0o¶ 1¶/32\__¶4 J24\¶|3A 34|¶| 3V34|¶|2A   |__/¶\1/
4
|  
3
    
2
      
1
__________
0
  o¶    

(অনেক লাইনে ট্রেলিং স্পেস রয়েছে)

লক্ষ্যের স্ট্রিংয়ে পুনরাবৃত্তি হওয়া এবং তারপরে সেগুলি প্রতিস্থাপনের জন্য কয়েকটি চরিত্রের ক্রমগুলির জায়গায় 1,2,3,4 সংখ্যা ব্যবহার করে এটি কাজ করে।

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

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


আপনি একটি গত লাইনের শেষে এ সব শূণ্যস্থান প্রতিস্থাপন করতে পারেন 3এবং তারপর সামনে 3. এছাড়াও আপনি পরিবর্তন করতে প্রতিকল্পন উপরে উঠানো 2\n থেকে 2\n3 এবং আগে 3. এই প্রতিকল্পন সরাতে অনলাইনে চেষ্টা করুন!
ক্রিটিকি লিথোস

অনলাইনে চেষ্টা করে দেখতে আপনি মূল প্রতিস্থাপনে এবং তারপরে প্রতিটি পরিবর্তন 1\n__________করতে পারেন ! 1\n_____111
ক্রিটসি লিথোস

@ ক্রিটিক্সিলিথোস যেমন বলেছিলাম, আমি জানি এটি গল্ফ করা যেতে পারে :) আমি কেবল আমার অ্যালগরিদমের দ্বারা সরাসরি তৈরি একটি সমাধান পোস্ট করতে চেয়েছিলাম, সম্ভবত আমি নিজেই অপ্টিমাইজড আরও একটি উত্তর পোস্ট করব ^^
লিও

0

পাইথন ৩.6

(অ-প্রতিদ্বন্দ্বী)

হাফম্যান এনকোডিংয়ে এখানে আমার প্রচেষ্টা। কেউ ধারণা গ্রহণ করতে চাইলে এটি অবশ্যই গল্ফযোগ্য।

from bitarray import bitarray as b
a=b()
a.frombytes(bytes.fromhex('ca7fca7e53b6db6db664ffc6d9ae1fd6335e2fad1af83d68d7e2e9b218db6db6db20'))
print(''.join(a.decode({k:b(v)for k,v in zip(" _|\no/\\AJV","1 011 010 0011 00101 00100 00011 00010 00001 00000".split())})))

আক্ষরিকটি বেস 64 বা অন্যান্যতে রূপান্তরিত করে আরও সংকুচিত হতে পারে এবং হাফম্যান গাছটি আরও একটি ছোট বিটরে তৈরি করার জন্য অনুকূলিত হতে পারে।


3
অ-প্রতিযোগিতা অযোগ্যতার অজুহাত নয়।
মেগো

@ মেগো আমার কাছে এটি ঠিক করার সময় নেই, আমি অন্য কারও সাথে চলার জন্য একটি সমাধানের কাঠামো দিতে চেয়েছিলাম। অ-প্রতিযোগিতামূলক কারণ আমি চ্যালেঞ্জের ওপি ছিলাম
অ্যারোন

2
আসলেই তাতে কিছু আসে যায় না। আমাদের নীতি পরিষ্কার
মেগো

@ মেগো ঠিক করা হয়েছে ... কেবল আপনার জন্য
অ্যারন

0

গেমমেকার ল্যাঙ্গুয়েজ, 138 বাইট

show_message("  o#       o#    o# __________#/          \__#|   J      |  \#|    A     |  |#|     V    |  |#|      A   |__/#\__________/")

0

সি, 141 বাইট

f(){printf("  o\n%7co\n    o\n __________\n/%11c__\n|   J%6c|  \\\n|    A     |  |\n|%6c    |  |\n|%7c   |__/\n\\__________/",0,92,0,86,65);}

ব্যবহার

main(){f();}

ইজি সলিউশন, 148 বাইট:

w(){puts("  o\n       o\n    o\n __________\n/          \\__\n|   J      |  \\\n|    A     |  |\n|     V    |  |\n|      A   |__/\n\\__________/");}


0

zsh, 86 বাইট

printf "^_<8b>^H^@^@^@^@^@^B^CSPÈçR^@^A^P^CJÆÃ^A<97>¾^B^\Ä^@¹5@Ú^KÂ^E2cÀ|^EG^X¿^FÂW^HCæÃTÔÄÇësÅÀ^L^Fq^@<92>}ý^?{^@^@^@"|zcat

ব্যাখ্যা: সেই স্ট্রিংটি গিজিপ-সংকুচিত জাভা কাপ আসকি শিল্প। আমি ব্যবহার করি printf, কারণ এর সাথে echo, zcatএকটি সতর্কতা প্রিন্ট করে এবং echo -eএটি একটি অক্ষর দীর্ঘ। এটি bashবা এর সাথে কাজ করে না sh, কারণ তারা মনে করে এটি একটি বাইনারি ফাইল। যেহেতু আপনি ব্রাউজার থেকে কার্যকরভাবে আউটপুট আটকানো যাবে না, এখানে একটি ব্যবহারযোগ্য ফাইল।


0

জাভা 9 / জেহেল, 299 বাইট

()->{String s="";BigInteger b=new BigInteger("43ljxwxunmd9l9jcb3w0rylqzbs62sy1zk7gak5836c2lv5t36ej6682n2pyucm7gkm9bkfbn4ttn0gltbscvbttifvtdfetxorj6mmy3mt6r3",36);while(!b.equals(BigInteger.ZERO)){int x=b.intValue()&0x3ff;for(int i=0;i<x>>7;i++)s+=' ';s+=(char)(x&0x7f);b=b.shiftRight(10);}return s;}

Ungolfed:

() -> {
    String s = "";
    BigInteger b = new BigInteger(
        "43ljxwxunmd9l9jcb3w0rylqzbs62sy1zk7gak5836c2lv5t36ej6682n2pyucm7gkm9bkfbn4ttn0gltbscvbttifvtdfetxorj6mmy3mt6r3",
        36);
    while (!b.equals(BigInteger.ZERO)) { 
        int x = b.intValue() & 0x3ff;
        for (int i = 0; i < x >> 7; i++) s+=' ';
        s += (char)(x&0x7f);
        b = b.shiftRight(10);
    }
    return s;
}

জেএসেলের ব্যবহার:

Supplier<String> golf = <lambda expression>
System.out.println(golf.get())

প্রতিটি অক্ষরকে দশ বিট হিসাবে এনকোড করে কম বিটগুলিতে কোড পয়েন্ট অনুসরণ করে উচ্চ তিন বিটগুলিতে অক্ষরের পূর্বে ফাঁকের সংখ্যার গণনা সমন্বিত দশ বিট হিসাবে থাকে।

(যেহেতু গণনাটির জন্য কেবল তিনটি বিট রয়েছে এটি টানা সাতটি স্পেসের বেশি প্রতিনিধিত্ব করতে পারে না, এবং স্ট্রিংয়ের এক পর্যায়ে দশটি স্পেস রয়েছে These এগুলি ছয়টির একটি গণনা হিসাবে এনকোড করা হয়, তারপরে একটি স্থান এবং তারপরে একটি পরবর্তী অক্ষর অনুসারে তিনটির গণনা))

দুঃখের বিষয়, এটি এই তুচ্ছ 140-বাইট জাভা সমাধানের কাছে হেরে গেছে:

()->"  o\n       o\n    o\n __________\n/          \\__\n|   J      |  \\\n|    A     |  |\n|     V    |  |\n|      A   |__/\n\\__________/"

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