ইন PPCG chatroom উনবিংশ বাইট , ক্যারেট ব্যবহার ^
(বা গাজর ) যা নির্দেশ করে আপনি শুধু পুলিশের উপরে পূর্বে টি মন্তব্য করা এক সঙ্গে একমত একটি উপায়।
একটি ক্যারেট বার্তাটি কেবলমাত্র এন ^
অক্ষর দ্বারা গঠিত (যেখানে এন ইতিবাচক পূর্ণসংখ্যার) এবং এর অর্থ এনথের পূর্ববর্তী বার্তাটির সাথে চুক্তি। সুতরাং একটি একক ^
অর্থ অবিলম্বে পূর্ববর্তী বার্তাটির সাথে ^^
চুক্তি , অর্থ বার্তাটির সাথে দুটি লাইন আপ ^^^
চুক্তি , মানে বার্তাটির সাথে তিনটি লাইন আপ চুক্তি এবং এই জাতীয়।
অধিকন্তু, যখন একটি ক্যারেট বার্তা এক্স চুক্তিতে থাকে (ওরফে ইঙ্গিত করে) অন্য ক্যারেট বার্তা ওয়াইয়ের সাথে থাকে, তখন এক্সকে ওয়াইয়ের সাথে চুক্তি স্বাক্ষরিত বলে মনে হয়। এর একাধিক স্তর থাকতে পারে এবং শেষ পর্যন্ত সমস্ত ক্যারেট বার্তাগুলি একটি নন-ক্যারেট বার্তার সাথে চুক্তির ইঙ্গিত দিচ্ছে।
উদাহরণস্বরূপ, যদি কোনও চ্যাট ট্রান্সক্রিপ্টটি এর মতো দেখায়: (প্রতি লাইনে একটি বার্তা)
I like dogs [line 1]
I like cats [line 2]
^ [line 3]
^^^ [line 4]
^^ [line 5]
I like turtles [line 6]
^ [line 7]
^^^ [line 8]
^^ [line 9]
তারপরে 1, 2 এবং 6 টি লাইনগুলি অ-ক্যারেট বার্তা এবং অন্য সমস্তগুলি ক্যারেট বার্তাগুলি যা অ-যত্নশীল বার্তাগুলি নির্দেশ করে:
- লাইন 3 লাইন 2 সরাসরি পয়েন্ট।
- লাইন 4 পয়েন্ট সরাসরি লাইন 1।
- লাইন 5 লাইন 3 পয়েন্ট, যা লাইন 2 পয়েন্ট।
- লাইন 7 লাইন 6 পয়েন্ট।
- লাইন 8 লাইন 5 পয়েন্ট, যা লাইন 3 পয়েন্ট, কোন লাইন 2 পয়েন্ট।
- লাইন 9 লাইন 7 পয়েন্ট, যা লাইন 6 পয়েন্ট।
সুতরাং, অ-যত্নহীন বার্তাটি লিখেছেন এমন ব্যবহারকারীদের (এবং ধরে নিই যে লোকেরা তাদের নিজস্ব বার্তা যত্নবান করে না) সহ আমরা এই সিদ্ধান্তে পৌঁছাতে পারি:
- 2 জনের সাথে একমত
I like dogs
(লাইন 1 এবং 4) - 4 জন লোক এর সাথে একমত
I like cats
(লাইনের 2, 3, 5 এবং 8) - 3 জন লোক এর সাথে একমত
I like turtles
(লাইন 6, 7 এবং 9)
চ্যালেঞ্জ
একটি প্রোগ্রাম বা ফাংশন লিখুন যা উপরের উদাহরণের অনুরূপ একাধিক স্ট্রিংয়ের মধ্যে নিয়ে আসে যেখানে প্রতিটি লাইন একটি চ্যাট বার্তা উপস্থাপন করে, পুরানো বার্তাগুলি প্রথম আসে।
প্রতিটি লাইনের কমপক্ষে একটি অক্ষর থাকবে এবং সেখানে কমপক্ষে একটি লাইন থাকবে। সমস্ত বার্তাগুলি হ'ল সম্পূর্ণরূপে অন্তর্ভুক্ত ক্যারেট বার্তাগুলি হবে ^
, বা অক্ষর এবং ফাঁকা স্থানগুলি ( [ a-zA-Z]+
রেজেক্সে) সহ নন-ক্যারেট বার্তা হবে ।
প্রতিটি অ-ক্যারেট বার্তার জন্য, যে কোনও ক্রমে, এর সাথে একমত হওয়া লোকের সংখ্যাকে আউটপুট করুন যাতে ম্যাসেজের পাঠ্য রয়েছে এমন কিছু পরিষ্কার ফর্ম্যাটে
2 - I like dogs
4 - I like cats
3 - I like turtles
অথবা
I like cats (4)
I like dogs (2)
I like turtles (3)
অথবা
{"I like cats" : 4, "I like turtles" : 3, "I like dogs" : 2}
আপনি ধরে নিতে পারেন:
- লোকেরা সর্বদা তাদের নিজস্ব বার্তাগুলির সাথে একমত হয় এবং নিজের যত্ন করে না।
- দুটি অ-ক্যারেট বার্তা অভিন্ন নয়।
- ক্যারেট বার্তাগুলি প্রথম বার্তার আগে জিনিসগুলিকে নির্দেশ করবে না।
- লাইনে শীর্ষস্থানীয় বা পিছনের স্থানগুলি থাকবে না।
বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।
পরীক্ষার মামলা
bread is bread
1 - bread is bread
---
animals are fuzzy
^
^
^
^^^
^^
^^^^^^
7 - animals are fuzzy
---
pie
^
^^
pi
^
^^
^^^^
^
^^^^^
^^^^^
^^^
^^^^
^^
^
^^^^^^^^^
9 - pie
6 - pi
---
a
b
c
^
^
^
1 - a
1 - b
4 - c
---
a
b
c
^
^^
^^^
1 - a
1 - b
4 - c
---
a
b
c
^^^
^^^^
^^^^^
4 - a
1 - b
1 - c
---
W
^
^^
X
^^^
^^^^
Y
^^^^^
^^^^^^
Z
^^^^^^^
^^^^^^^^
1 - Y
3 - X
1 - Z
7 - W
---
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqretuvwxyz
^
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqretuvwxyz
2 - ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqretuvwxyz
1 - ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqretuvwxyz
---
I like dogs
I like cats
^
^^^
^^
I like turtles
^
^^^
^^
2 - I like dogs
4 - I like cats
3 - I like turtles