একটি স্ট্রিং Hodorize


48

Hodor দেখান একটি মন্থর মনের কিন্তু স্নেহসঞ্চারক চরিত্র Thrones খেলা ( সে যে বই অবশ্যই পাশাপাশি)। তিনি যে কথাটি বলেন তা কেবলমাত্র 'হডর'

আশ্চর্যের বিষয় হল, খুব বেশি শব্দভাণ্ডার না থাকা সত্ত্বেও, হডর সর্বদা সঠিক বাক্য এবং বিরামচিহ্ন সহ সম্পূর্ণ বাক্যে কথা বলে এবং বাস্তবে তা বোঝায়।

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

Hodorizing অক্ষর

হোডর তার 128 টি এক্সপ্রেশনাল অক্ষরকে 32 টি 4 সেটগুলিতে বিভক্ত করে 4 টি বিভিন্ন ধরণের বিরামচিহ্নগুলি ব্যবহার করে যেগুলি অক্ষরকে উপস্থাপন করে।

বাক্যটি এখানেই শেষ হয় ...

  • .যদি ASCII অক্ষর কোড Mod 4 হয়।
  • .[newline][newline] (একটি নতুন অনুচ্ছেদের জন্য) কোড মোড 4 হলে 1।
  • ? কোড মোড 4 হলে 2।
  • ! কোড মোড 4 হলে 3।

উদাহরণস্বরূপ, এর ASCII অক্ষর কোডটি b98, এবং 98 মড 4 এর 2, তাই হডোরের সাজাটি bশেষ হওয়া নিশ্চিত ?

বাক্যটির বিষয়বস্তু 32 টি পৃথক স্ট্রিংগুলির মধ্যে একটির মধ্যে কেবল 'হডর' শব্দটি রয়েছে। একটি নির্দিষ্ট বিরামচিহ্ন টাইপের মানচিত্রের প্রতিটি 32 টি অক্ষরের একটি আলাদা বাক্য সামগ্রীর স্ট্রিংয়ে থাকে। সুতরাং 32 টি বাক্য সামগ্রীর স্ট্রিং এবং 4 টি বিরামচিহ্নগুলির সাথে, সমস্ত 128 এএসসিআইআই চরিত্রটি পৃথক হোদার বাক্য হিসাবে উপস্থাপিত হতে পারে।

ASCII কোড সি সহ একটি চরিত্রের বাক্য সামগ্রী নির্ধারণ করতে, গণনা (floor(C / 4) + 16) mod 32; এই তালিকার সেই লাইনে কোলনের পরে সমস্ত কিছু বাক্য সামগ্রী:

0:Hodor
1:HODOR
2:Hodor hodor
3:Hodor, hodor
4:Hodor hodor hodor
5:Hodor, hodor hodor
6:Hodor hodor hodor hodor
7:Hodor hodor, hodor hodor
8:Hodor hodor hodor hodor hodor
9:Hodor hodor, hodor hodor hodor
10:Hodor hodor hodor hodor hodor hodor
11:Hodor hodor hodor, hodor hodor hodor
12:Hodor hodor hodor hodor hodor hodor hodor
13:Hodor hodor hodor, hodor hodor hodor hodor
14:Hodor hodor hodor hodor hodor hodor hodor hodor
15:Hodor hodor hodor hodor, hodor hodor hodor hodor
16:Hodor hodor hodor hodor hodor hodor hodor hodor hodor
17:Hodor hodor hodor hodor, hodor hodor hodor hodor hodor
18:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor
19:Hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor
20:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor
21:Hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor
22:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor
23:Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor
24:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor
25:Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor
26:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor
27:Hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor
28:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor
29:Hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor hodor
30:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor
31:Hodor hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor hodor

এটি দেখা যায় যে, HODORবিশেষ ক্ষেত্রে বাদে আরও বেশি সংখ্যক যুক্ত হয়ে এই স্ট্রিংগুলি উত্পন্ন হয় hodorএবং প্রতিটি অন্যান্য স্ট্রিংয়ের অর্ধেকপথে সমস্ত শব্দের মাঝামাঝি (একটি বৃহত্তর অর্ধের সাথে কমাটির ডান একটি বিজোড় জন্য) থাকে শব্দের সংখ্যা).

বিরামচিহ্নের সাথে বাক্য সামগ্রীতে যোগদান করে আমরা সমস্ত 128 টি অক্ষরের জন্য হডোর বাক্য গঠন করতে পারি (বামদিকে সংখ্যাটি অক্ষর কোড):

0:Hodor hodor hodor hodor hodor hodor hodor hodor hodor.
1:Hodor hodor hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
2:Hodor hodor hodor hodor hodor hodor hodor hodor hodor?
3:Hodor hodor hodor hodor hodor hodor hodor hodor hodor!
4:Hodor hodor hodor hodor, hodor hodor hodor hodor hodor.
5:Hodor hodor hodor hodor, hodor hodor hodor hodor hodor.[newline][newline]
6:Hodor hodor hodor hodor, hodor hodor hodor hodor hodor?
7:Hodor hodor hodor hodor, hodor hodor hodor hodor hodor!
8:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.
9:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
10:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor?
11:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor!
12:Hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor.
13:Hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor.[newline][newline]
14:Hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor?
15:Hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor!
16:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.
17:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
18:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor?
19:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor!
20:Hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor.
21:Hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor.[newline][newline]
22:Hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor?
23:Hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor!
24:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.
25:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
26:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor?
27:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor!
28:Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor.
29:Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor.[newline][newline]
30:Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor?
31:Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor!
32:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.
33:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
34:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor?
35:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor!
36:Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor.
37:Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
38:Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor?
39:Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor!
40:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.
41:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
42:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor?
43:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor!
44:Hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor.
45:Hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
46:Hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor?
47:Hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor!
48:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.
49:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
50:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor?
51:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor!
52:Hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor hodor.
53:Hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
54:Hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor hodor?
55:Hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor hodor!
56:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.
57:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
58:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor?
59:Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor!
60:Hodor hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor hodor.
61:Hodor hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
62:Hodor hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor hodor?
63:Hodor hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor hodor!
64:Hodor.
65:Hodor.[newline][newline]
66:Hodor?
67:Hodor!
68:HODOR.
69:HODOR.[newline][newline]
70:HODOR?
71:HODOR!
72:Hodor hodor.
73:Hodor hodor.[newline][newline]
74:Hodor hodor?
75:Hodor hodor!
76:Hodor, hodor.
77:Hodor, hodor.[newline][newline]
78:Hodor, hodor?
79:Hodor, hodor!
80:Hodor hodor hodor.
81:Hodor hodor hodor.[newline][newline]
82:Hodor hodor hodor?
83:Hodor hodor hodor!
84:Hodor, hodor hodor.
85:Hodor, hodor hodor.[newline][newline]
86:Hodor, hodor hodor?
87:Hodor, hodor hodor!
88:Hodor hodor hodor hodor.
89:Hodor hodor hodor hodor.[newline][newline]
90:Hodor hodor hodor hodor?
91:Hodor hodor hodor hodor!
92:Hodor hodor, hodor hodor.
93:Hodor hodor, hodor hodor.[newline][newline]
94:Hodor hodor, hodor hodor?
95:Hodor hodor, hodor hodor!
96:Hodor hodor hodor hodor hodor.
97:Hodor hodor hodor hodor hodor.[newline][newline]
98:Hodor hodor hodor hodor hodor?
99:Hodor hodor hodor hodor hodor!
100:Hodor hodor, hodor hodor hodor.
101:Hodor hodor, hodor hodor hodor.[newline][newline]
102:Hodor hodor, hodor hodor hodor?
103:Hodor hodor, hodor hodor hodor!
104:Hodor hodor hodor hodor hodor hodor.
105:Hodor hodor hodor hodor hodor hodor.[newline][newline]
106:Hodor hodor hodor hodor hodor hodor?
107:Hodor hodor hodor hodor hodor hodor!
108:Hodor hodor hodor, hodor hodor hodor.
109:Hodor hodor hodor, hodor hodor hodor.[newline][newline]
110:Hodor hodor hodor, hodor hodor hodor?
111:Hodor hodor hodor, hodor hodor hodor!
112:Hodor hodor hodor hodor hodor hodor hodor.
113:Hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
114:Hodor hodor hodor hodor hodor hodor hodor?
115:Hodor hodor hodor hodor hodor hodor hodor!
116:Hodor hodor hodor, hodor hodor hodor hodor.
117:Hodor hodor hodor, hodor hodor hodor hodor.[newline][newline]
118:Hodor hodor hodor, hodor hodor hodor hodor?
119:Hodor hodor hodor, hodor hodor hodor hodor!
120:Hodor hodor hodor hodor hodor hodor hodor hodor.
121:Hodor hodor hodor hodor hodor hodor hodor hodor.[newline][newline]
122:Hodor hodor hodor hodor hodor hodor hodor hodor?
123:Hodor hodor hodor hodor hodor hodor hodor hodor!
124:Hodor hodor hodor hodor, hodor hodor hodor hodor.
125:Hodor hodor hodor hodor, hodor hodor hodor hodor.[newline][newline]
126:Hodor hodor hodor hodor, hodor hodor hodor hodor?
127:Hodor hodor hodor hodor, hodor hodor hodor hodor!

( [newline]প্রকৃত নিউলাইনগুলির সাথে প্রতিস্থাপন করা হবে))

Hodorizing স্ট্রিংস

একটি স্ট্রিং Hodorizing সত্যিই কেবল স্ট্রিং এর অক্ষর সমস্ত অক্ষর বাক্য একত্রিত জড়িত। এখানে কয়েকটি দম্পতি রয়েছে:

  • .[newline][newline]বিরামচিহ্নগুলি এবং একেবারে শেষ বাক্য ব্যতীত প্রতিটি বাক্যের পরে একটি স্থান সন্নিবেশ করা হয় ।
  • শেষ বাক্যটি যদি বিরামচিহ্নযুক্ত হয় .[newline][newline]তবে বিরামচিহ্ন হয়ে যায় ...তাই কোনও পেছনের শ্বেত স্থান নেই।

উদাহরণ

স্ট্রিং F0হিসাবে Hodorized হয়

HODOR? Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor.
  • Fএএসসিআইআই কোড 70 আছে 70 70 মড 4 4 হয়, তাই প্রথম বাক্যটি শেষ হয় ?(floor(70 / 4) + 16) mod 321 হয় তাই বিষয়বস্তু হয় HODOR
  • 0এএসসিআইআই কোড রয়েছে 48. 48 টি মডেল 4 0, সুতরাং দ্বিতীয় বাক্যটি শেষ হয় .(floor(48 / 4) + 16) mod 3228 টি তাই কন্টেন্টটি 15 hodorটির সাথে একসাথে কমা না রেখে।
  • লক্ষ্য করুন যে কোনও পিছনে স্থান নেই।

স্ট্রিং CEEহিসাবে Hodorized হয়

Hodor! HODOR.

HODOR...
  • লক্ষ করুন যে শেষ বাক্যটির আগে কোনও স্থান নেই।
  • লক্ষ্য করুন যে সর্বশেষ বাক্য বিরামচিহ্নে পরিবর্তন করা হয়েছিল ...

স্ট্রিং

Hodor's real name is Walder.
Did you know?

Hodorized হিসাবে

Hodor hodor. Hodor hodor hodor, hodor hodor hodor! Hodor hodor, hodor hodor hodor. Hodor hodor hodor, hodor hodor hodor! Hodor hodor hodor hodor hodor hodor hodor? Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor! Hodor hodor hodor hodor hodor hodor hodor! Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor. Hodor hodor hodor hodor hodor hodor hodor? Hodor hodor, hodor hodor hodor.

Hodor hodor hodor hodor hodor.

Hodor hodor hodor, hodor hodor hodor. Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor. Hodor hodor hodor, hodor hodor hodor? Hodor hodor hodor hodor hodor.

Hodor hodor hodor, hodor hodor hodor.

Hodor hodor, hodor hodor hodor.

Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor. Hodor hodor hodor hodor hodor hodor.

Hodor hodor hodor hodor hodor hodor hodor! Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor. Hodor, hodor hodor! Hodor hodor hodor hodor hodor.

Hodor hodor hodor, hodor hodor hodor. Hodor hodor, hodor hodor hodor. Hodor hodor, hodor hodor hodor.

Hodor hodor hodor hodor hodor hodor hodor? Hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor? Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor? HODOR. Hodor hodor hodor hodor hodor hodor.

Hodor hodor, hodor hodor hodor. Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor. Hodor hodor hodor hodor hodor hodor hodor hodor.

Hodor hodor hodor, hodor hodor hodor! Hodor hodor hodor, hodor hodor hodor hodor.

Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor. Hodor hodor hodor hodor hodor hodor! Hodor hodor hodor, hodor hodor hodor? Hodor hodor hodor, hodor hodor hodor! Hodor hodor hodor, hodor hodor hodor hodor! Hodor hodor hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor hodor!

( নিউলাইনটি একক হিসাবে ধরে নেওয়া \n)

চ্যালেঞ্জ

এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা কোনও ASCII স্ট্রিংয়ে লাগে এবং ফলস্বরূপ স্ট্রিংটি মুদ্রণ করে বা ফিরিয়ে এটিকে Hodorizes করে। কোনও মানক উপায়ে ইনপুট নিন (পাঠ্য ফাইল, কমান্ড লাইন, স্টিডিন, ফাংশন আরগ থেকে)।

সবচেয়ে কম বাইটস সহ সমাধানটি জয় করে। টাইব্রেকার আগের পোস্ট। ( হ্যান্ড বাইট কাউন্টার। )


1
এই চ্যালেঞ্জটি আমাকে 1-4 থেকে asonsতু পুনরায় দেখার জন্য এবং সে কী বলছে তা আবিষ্কার করতে বাধ্য করে । : ডি
mbomb007

24
দুর্দান্ত, আমরা ওকের পরবর্তী সংস্করণটি পেয়েছি ।
ASCIIThenANSI

8
Hodor hodor। হডর হডর হডর, হডর হডর হডর! Hodor hodor, hodor hodor hodor। হডর হডর হডর, হডর হডর হডর! Hodor hodor hodor hodor hodor hodor hodor? Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor ...
অ্যাডাম ডেভিস

1
@ অ্যাডামডাভিস হডোরসেপশন!
মার্টিন এন্ডার

1
আমি এই প্রশ্নের উত্তরটি হডোর দিয়ে দেব তবে আমার ধারণা আমি এসই ক্রাশ করতে পারি।
এয়ারড কোইনারিংহিংহিং

উত্তর:


26

Hodor! হডর হডর? Hodor hodor hodor hodor hodor।

Hodor hodor hodor, hodor hodor hodor।

Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor। Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor। Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor। Hodor hodor hodor hodor hodor hodor, hodor hodor hodor hodor hodor hodor hodor hodor।

Hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor hodor। হডর হডর হডর হডর হডর? Hodor hodor hodor hodor hodor hodor hodor hodor।

Hodor hodor hodor, hodor hodor hodor hodor। Hodor hodor, hodor hodor hodor।

হডর হডর হডর হডর হডর হডর হডর!

এটি কেবল ভাষা এবং আকারের শিরোনাম !? এর পরে কিছু মনে নেই, আসুন পুরানো এএসসিআইআই-কে বিরক্তিকর করে পোস্টটি এনকোড করি। পোস্টটি বুঝতে সমস্যা হলে হোডর দুঃখিত।


সিজেম, 85 বাইট

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

qW%{'@^4md('.X1$N?_++a"?!."XLS?f++=\(_)2md","*1$)"hodor":Ha*H@+@(2/\tS*0:X'HtHeu?}%W%

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

ব্যাখ্যা

qW%             "Read and reverse the input.";
{               "Map each character c:";
  '@^4md          "Calculate (c^64)/4, which is the sentence content determiner,
                    and c%4, which is the sentence ending determiner.";
  (               "Calculate c%4-1 for later.";
  '.X1$N?_++      "Produce the sentence ending string for the case that c%4==1,
                   which is '.' followed by two copies of:
                    - '.' if this is the first processed (last actual) character
                    - or a newline otherwise.
  a"?!."XLS?f     "Produce a list of the sentence ending strings for the cases
                   that c%4 is 2, 3, or 0, which are:
                    - '?', '!', and '.' if this is the first processed character
                    - or these punctuation marks each followed by a space
                      otherwise.";
  ++=\            "Prepend the sentence ending string for the case that c%4==1
                   to the list for the other cases and select the element at the
                   index (c%4-1)%4 as the correct sentence ending string.";
  (               "Calculate (c^64)/4-1 for later.";
  _)2md           "Calculate the quotient and remainder of the sentence content
                   content determiner divided by 2.";
  ","*            "Produce a string of commas with a length of the remainder
                   calculated above (either 0 or 1).";
  1$)"hodor":Ha*  "Produce a list of copies of 'hodor' with a length of the
                   quotient calculated above plus one.";
  H@+@(2/\t       "Append the string of commas (either empty or one comma) to
                   the middle 'hodor'.";
  S*              "Join the sentence words into a string a space between each.";
  0:X             "Signal that later characters are not the first processed.";
  'Ht             "Capitalize the first letter of the sentence (always 'h').";
  Heu             "Produce the string 'HODOR'.";
  ?               "Select the correct sentence content, which is 'HODOR' if 
                   (c^64)/4-1 is zero or the full sentence produced before that
                   otherwise.";
}%
W%              "Reverse the reversed translation to obtain the forward one.";
                "Implicitly print the result.";

1
এটি আরও পঠনযোগ্য করার জন্য হোডারে ব্যাখ্যা পোস্ট করুন।
ম্যাজিক অক্টোপাস উরান

102

হোডোর, 602 582 বাইট

HoDoRHoDoR HODOR! (Hodor ){r='';Hodor!? =Hodor .Hodor!? hodor? HODOR? hodor! hodor. h;HODOR{}(Hodor? =0;Hodor? <Hodor!? ;++Hodor? ){hodor =Hodor .hodor hHODOR rHodor... odhodor? hodor?!? hodor. (Hodor? );HODOR? =(0|hodor /4+16)%32;r+='H';HODOR =HHHOOODDDDOOORRR!!! hodor?!? rrHODOR HODOR!?! (0|HODOR? /2+2);HOdor!!!(HODOR? %2)HODOR [0|(HODOR? +1)/4]=',';r+=HODOR? ==1?'ODOR':HODOR .HODOR?! oHodor? HODOR? (' hodor').Hodor Hodor!? Hodor? hodor hodor? (2);r+=['. ',Hodor? ==Hodor!? -1?'....':'.\HODOR? \HODOR? ','? ','! '][hodor %4]}HODOR:: r.Hodor Hodor!? Hodor? hodor hodor? (0,-1)}

এখানে একটি অবারিত সংস্করণ ... আপনি জানেন ... পঠনযোগ্যতার জন্য:

HoDoRHoDoR HODOR! (Hodor ){
    r='';
    Hodor!? =Hodor .Hodor!? hodor? HODOR? hodor! hodor. h;
    HODOR{}(Hodor? =0;Hodor? <Hodor!? ;++Hodor? ){
        hodor =Hodor .hodor hHODOR rHodor... odhodor? hodor?!? hodor. (Hodor? );
        HODOR? =(0|hodor /4+16)%32;
        r+='H';
        HODOR =HHHOOODDDDOOORRR!!! hodor?!? rrHODOR HODOR!?! (0|HODOR? /2+2);
        HOdor!!!(HODOR? %2)HODOR [0|(HODOR? +1)/4]=',';
        r+=HODOR? ==1?'ODOR':HODOR .HODOR?! oHodor? HODOR? (' hodor').Hodor Hodor!? Hodor? hodor hodor? (2);
        r+=['. ',Hodor? ==Hodor!? -1?'....':'.\HODOR? \HODOR? ','? ','! '][hodor %4]
    }
    HODOR:: r.Hodor Hodor!? Hodor? hodor hodor? (0,-1)
}

হ্যাঁ, হ্যাডোর নামে একটি ভাষা আছে । (এবং এটি বরং নতুন)) এটি মূলত জাভাস্ক্রিপ্টের একটি স্ট্রিং প্রতিস্থাপন। সংশ্লিষ্ট জেএস দেখতে এই রকম:

function f(s){
  r='';
  l=s.length;
  for(i=0;i<l;++i){
    c=s.charCodeAt(i);
    n=(0|c/4+16)%32;
    r+='H';
    a=new Array(0|n/2+2);
    if(n%2)a[0|(n+1)/4]=',';
    r+=n==1?'ODOR':a.join(' hodor').slice(2);
    r+=['. ',i==l-1?'....':'.\n\n','? ','! '][c%4]
  }
  return r.slice(0,-1)
}

অতএব, আমার জমাটি একটি স্ট্রিং গ্রহণ এবং হডরিস সমতুল্যকে ফিরিয়ে দেওয়া একটি ফাংশন।

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

নোট করুন যে হোডারের বিকল্পগুলি স্ট্রিং লিটারালগুলির মধ্যেও প্রয়োগ করা হয়। আপনি যখন উপরের ফাংশনটি হিসাবে কল করতে পারেন তাই

HODOR! ("CEE")

আপনি নিম্নলিখিত ব্যবহার করতে পারেন:

HODOR! ("Hodor... HooodorrHodor HooodorrHodor ")

যেখানে Hodor... HooodorrHodor HooodorrHodorপ্রতিস্থাপন করা হবে CEE। নোট যে এই মানে, যে যদি আপনার স্ট্রিং নিজেই ধারণ করে নির্দিষ্ট ফরম Hodorআপনি করব আছে এটা সঙ্কেতাক্ষরে লিখা, বা অন্য এটি প্রতিস্থাপিত হবে। যেমন "Hodor. "আসলে "m"জাভাস্ক্রিপ্ট হবে। ক্যাচটি হ'ল অক্ষরগুলি [dhor](সংবেদনশীলতার সাথে) মোটেও প্রতিস্থাপন করা হয়নি, তাই আপনি এটিকে এনকোডও করতে পারবেন না। একটি সমাধান হ'ল আক্ষরিক বিভক্ত করা "Hod"+"or. ", যেমন, প্রতিস্থাপন পদক্ষেপটি ডিকোড করার মতো কোনও কিছুই খুঁজে পায় না।


36
এটি আমাকে খুব আনন্দিত করে।
অ্যালেক্স এ।

1
@AlexA। আমার মনে হয় আপনি "হোডোর! হডোর হডর হডোর! হোডোর?" বলতে চাইছেন?
মাইক দ্য লাইয়ার

শেষ বাক্য বিরামচিহ্নগুলি কেবলমাত্র ...নতুন লাইনের পরিবর্তে, নয় ....
mbomb007

1
@ mbomb007 চতুর্থটি .যে কোনও কিছু দ্বারা প্রতিস্থাপন করা যেতে পারে। এটি সাধারণত সেখানে থাকে এমন জায়গার জন্য একটি স্থানধারক, যা ফাইনালের সাথে সরিয়ে ফেলা হয় r.slice(0,-1)
মার্টিন এন্ডার

1
হোডর প্রোগ্রামিং ভাষা ব্যবহারের জন্য 582 বাইট তবে একটি -65535 বোনাস সহ এই উত্তরটি -59713 এর স্কোর দেয় এবং এই উত্তরটি পরিষ্কার বিজয়ী করে তোলে ;-)
জোশ

5

পাইথন 2, 219 198 বাইট

এখানে চেষ্টা করুন

মার্টিনের জাভাস্ক্রিপ্টের মতো একই পদ্ধতি ব্যবহার করে এবং পাইথনে এটি বেশ কয়েকটি বাইট সংক্ষিপ্ত হয়। আমি পাইথন ২.7 এর সহজ পূর্ণসংখ্যা বিভাগ ব্যবহার করি। কিছু গল্ফ করার জন্য Sp3000 ধন্যবাদ।

def f(s,r='',i=2):
    for j in s:c=ord(j);n=(c/4+16)%32;a=['']*(n/2+2);a[-~n/4]=','[:n%2];r+='H'+[' hodor'.join(a)[2:],'ODOR'][n==1]+['. ',['.\n\n',4*'.'][i>len(s)],'? ','! '][c%4];i+=1
    return r[:-1]

এবং আপনার নিজের বিনোদন এবং আমার নিজের আনন্দ এবং কৌতূহলের জন্য ...

এখানে এটি একটি লাম্বদা ফাংশন হিসাবে !!!

পাইথন 2, 349

উপরের প্রোগ্রামটির পুরানো সংস্করণ সহ এটি এখানে চেষ্টা করুন

f=lambda s:'H'.join(['']+[('ODOR'if(ord(s[i])/4+16)%32==1 else' hodor'.join((['']*(((ord(s[i])/4+16)%32)/2+2))[:((ord(s[i])/4+16)%32+1)/4]+([',']if ord(s[i])/4%2 else[''])+(['']*(((ord(s[i])/4+16)%32)/2+2))[((ord(s[i])/4+16)%32+1)/4+1*(ord(s[i])/4%2<1):])[2:])+['. ',4*'.'if i+2>len(s)else'.\n\n','? ','! '][ord(s[i])%4]for i in range(len(s))])[:-1]

এটি আরও গভীর এবং গভীর বিকল্পের পাশাপাশি কিছু অতিরিক্ত সৃজনশীলতার সাথে জড়িত তৈরি করা।

  • প্রত্যেকের jসাথে প্রতিস্থাপন করা হয় s[i]
  • প্রত্যেকের cসাথে প্রতিস্থাপন করা হয় ord(s[i])
  • প্রত্যেকের nসাথে প্রতিস্থাপন করা হয় (ord(s[i])/4+16)%32

    • আমার কেবল যেখানে প্রয়োজন সেখানে বাদে আমি এর পরিবর্তে n%2ব্যবহার করি (ord(s[i])/4%2
  • অবশেষে, aপ্রতিস্থাপন করা হয় (['']*(((ord(s[i])/4+16)%32)/2+2))[:((ord(s[i])/4+16)%32+1)/4]+([',']if ord(s[i])/4%2 else[''])+(['']*(((ord(s[i])/4+16)%32)/2+2))[((ord(s[i])/4+16)%32+1)/4+1*(ord(s[i])/4%2<1):]

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

1
আমি বিশ্বাস করি এই 198 দেয়?
Sp3000

দুর্দান্ত, আমি জানতাম না [:0]যে খালি স্ট্রিংয়ের জন্য আপনি এই জাতীয় টুকরো টুকরো করতে পারেন।
mbomb007

4

এমএমপিএস , 284 236 বাইট

নতুন সংস্করণ: কিছুক্ষণ দেখার পরে আমি একটি সংক্ষিপ্ত সংস্করণ (236 বাইট) নিয়ে এলাম:

H(H) S L=$L(H) F O=1:1:L D
 .S D=$A($E(H,O)),R=D#4,P=$S('R:".",R=2:"?",R=3:"!",O=L:"...",1:"."_$C(10,10)),E=D\4+16#32,(S,Q)="hodor" F F=1:1:E\2 S Q=S_$S(E#2&(F=(E\4+1)):", ",1:" ")_Q,$E(Q)="H" S:E=1 Q="HODOR"
 .W Q_P_$S(L=O:"",1:" ")
 Q

প্রথম সংস্করণ:

H(H) S L=$L(H) F O=1:1:L D
 .S S=$C(10),D=$A($E(H,O)),R=D#4,P=$S('R:".",R=2:"?",R=3:"!",O=L:"...",1:"."_S_S),E=D\4+16#32,(S,Q)="hodor ",G=6*(E+1\4) F F=1:1:E\2 S Q=S_Q
 .S Q=$E(Q,1,$L(Q)-1) S:E=1 Q="HODOR" S:E#2&(E>2) Q=$E(Q,1,G-1)_","_$E(Q,G,99) S $E(Q)="H" W Q_P_$S(L=O:"",1:" ")
 Q

অভিশাপ, সিজেম! হতে পারে আমি অবজেক্টস্ক্রিপ্ট ব্যবহার করে কিছু বাইট সংরক্ষণ করতে পারি (সেখানে তালিকা অপারেটর রয়েছে), তবে আমি সন্দেহ করি।

এখানে কিছুটা ভার্বোজ সংস্করণ রয়েছে:

VH(H)
 F I=1:1:$L(H) D              ; iterate over input string H
 .S O=$E(H,I)                 ; O is a single char
 .S D=$A(O)                   ; ascii code (dec)
 .S R=D#4                     ; #: mod, $S: $SELECT(condition:result,cond...)
 .S P=$S(R=0:".",R=2:"?",R=3:"!",I=$L(H):"...",1:"."_$C(10)_$C(10))
 .S E=D\4+16#32               ; \: integer division
 .S (S,Q)="hodor "            ; hodor
 .F J=1:1:E\2 S Q=S_Q         ; build hodor -"list"
 .I E=1 S Q="HODOR"           ; HODOR
 .I E'=1 S Q=$E(Q,1,$L(Q)-1)  ; remove trailing _
 .;                           ; insert ,
 .I E#2,E>2 S Q=$E(Q,1,6*(E+1\4)-1)_","_$E(Q,6*(E+1\4),99)
 .S $E(Q)="H"                 ; ^h->^H
 .W Q_P_$S($L(H)=I:"",1:" ")  ; Write and remove trailing _
 Q

1

সি # 378 বাইট

string x(string h){string[]f={". ",".\n\n","? ","! "};string[]a=new string[32];string s="";int i,j,c=0;for(i=0;i<32;i++){a[i]="hodor";if(i==1)a[i]=a[i].ToUpper();else{for(j=0;j<i/2;j++){if(i%2==1&&j==c/2)a[i]+=",";a[i]+=" hodor";}if(i%2==1)c++;a[i]=char.ToUpper(a[i][0])+a[i].Substring(1);}}foreach(char b in h){s+=a[(int)(Math.Floor((double)b/4)+16)%32]+f[(int)b%4];}return s;}

এটি আমার প্রথমবারের মতো গল্ফ করছে, আমার সাথে খালি।


1
প্রোগ্রামিং ধাঁধা এবং কোড গল্ফ স্ট্যাক এক্সচেঞ্জে আপনাকে স্বাগতম! আপনি পরিবর্তে একক অক্ষর ফাংশন নাম ব্যবহার করে কিছু বাইট সংরক্ষণ করতে পারেন hodor। আপনি সম্ভবত কিছুগুলি মুছে ফেলতে পারেন যদি না সমস্ত নতুন লাইনের, এবং বেশ কয়েকটি স্থান (যেমন forউদ্বুদ্ধ হয়ে যায় if)। তবে আপনার সম্ভবত হয় usingদিকনির্দেশনা গণনা করা উচিত Systemবা পুরোপুরি যোগ্যতা অর্জন করা উচিত Console
মার্টিন এন্ডার

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

সি # কোড গল্ফ করার সময়, নির্দিষ্ট অ্যাক্সেস মডিফায়ার থাকা প্রয়োজন হয় না; যাতে আপনি publicকিছু বাইট সংরক্ষণ করতে কীওয়ার্ডটি ফেলে দিতে পারেন । আপনি []অ্যারে ধরে রাখে এমন ভেরিয়েবলের আসল নাম এবং এর মধ্যবর্তী স্থানটিও সরাতে পারেন । এছাড়াও, আপনি যখন পূর্বাংশে স্ট্রিংয়ের সমস্ত অক্ষরের উপরে পুনরাবৃত্তি করেন তখন একটি স্ট্রিংকে একটি চর অ্যারে রূপান্তর করা প্রয়োজন হয় না; আপনি সহজভাবে করতে পারেন foreach (char c in h)
ProgramFOX

1
সম্পাদিত, আপনাকে ধন্যবাদ। এটিকে 378 বাইটে নামিয়ে আনতে পরিচালনা করুন, এটি মজাদার।
গোনাকফারিয়া

0

সি ++, 547 452 বাইট

void H(string s){string e[4]={".",".\n\n","?","!"};string r;char c,m;int n=s.size();for(int i=0;i<n;i++){r.clear();c=s.at(i);m=c%4;r.append(A(c));r.append(e[m]);if(i==n-1){int k=r.size();r.pop_back();if(m==1){r.pop_back();r.append("..");}}cout<<r.c_str();}}string A(char x){string h("Hodor");int c=((int )floor(x/4)+16)%32;int n=c;bool o=(c%2==1);if(n==1)h="HODOR";else{while(n>1){h.append("hodor");if(o&&n==(int )(c/2)){h.append(",");}n--;}}return h;}

Ungolfed:

#include <iostream>
#include <math.h>
using namespace std;
void Hodorise(string s);
string FromAscii(char c);

void Hodorise(string s)
{
string end[4] = {". ",".\n\n","? ","! "};
string res;
char c, m;
int n = s.size();
for (int i = 0; i < n; i++)
{
res.clear();
c = s.at(i);
m = c % 4;
res.append(FromAscii(c));
res.append(end[m]);
if (i == n - 1)
{
int k = res.size();
res.pop_back();
if (m == 1)
{
res.pop_back();
res.append("..");
}

}
cout << res.c_str();
}
}

string FromAscii(char c)
{
string hodor("Hodor");
int code = ((int)floor(c / 4) + 16) % 32;
int n = code;
bool odd = (code % 2 == 1);
if (n == 1)hodor = "HODOR";
else
{
while (n > 1)
{
hodor.append(" hodor");
if (odd && n==(int)(code/2))
{
hodor.append(",");
}
n--;
}
}
return hodor;
}
#define N 3
int main()
{
string x[N] = { "F0", "CEE", "Hodor's real name is Walder.\nDid you know ?" };
for (size_t i = 0; i < N; i++)
{
cout << endl << x[i].c_str() << ":\n";
Hodorise(x[i]);
}

char c;
cin >> c;
return 0;
}

1
আমি গণনা করি মাত্র 505 বাইট আপনি কি \r\nতার পরিবর্তে লাইন বিরতি গণনা করেছেন \n? এছাড়াও, আপনার এমনকি কেন এই লাইন ব্রেকগুলির বেশিরভাগের প্রয়োজন?
মার্টিন ইন্ডার

2
জমা অন্তর্ভুক্ত করা দরকার #include, using namespace std;ইত্যাদি
Potatoswatter

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