মি | ওয়াই বিআর | আইন আমরা | আইআরডি। এফ (ও) আরটি (জ) ই লা | এসটি ফাই (ভি) ই ওয়াই | আরস ও | আর এস | ও, (আই) হা | ভী সি (ইউ) টি ডব্লিউ ও | আরডিএস এ এইচ (এ) এলএফ হো | এন (আই) এস (ই) ই থ | এম। WH | EN আমি শুরু করলাম | এটি করা, এটি করা | ওকে a মেইন | তাল প্রচেষ্টা - বি (ইউ) টিআই প্রায় কোও (এল) ডি এন (ও) টি ডি | ও এটি। N (o) w, I d | o এটি আমার মাথার পিছনে, a (n) d hardly ev | en not | iCe it। যাইহোক, আমি ভেবেছিলাম যে এই সমস্যাটি একটি দুর্দান্ত চ্যালেঞ্জ।
সংজ্ঞা
এই চ্যালেঞ্জের জন্য, প্রতিটি চিঠিকে একটি সেন্স-সিরিফ ফন্টে এর প্রস্থের আমার বিচারের উপর ভিত্তি করে একটি পয়েন্ট স্কোর দেওয়া হবে। আপনি এই প্রস্থটি কোনও শব্দকে সমান প্রস্থের দুই ভাগে ভাগ করতে ব্যবহার করবেন। এই চ্যালেঞ্জটি যে অক্ষরগুলি ব্যবহার করবে সেগুলি হ'ল নিম্ন এবং উচ্চতর ক্ষেত্রে, অ্যাস্টোস্ট্রোফ এবং হাইফেনের বর্ণমালা।
Width Characters
1 i l I '
2 f j r t -
3 a b c d e g h k n o p q s u v x y z
4 m w A B C D E F G H J K L N O P Q R S T U V X Y Z
5 M W
আমার ব্যাখ্যা এবং পরীক্ষার |
কেসগুলির জন্য , কোনও শব্দটি পরিষ্কারভাবে অর্ধেকভাবে বিভক্ত করা যায় এমন স্থানটি বোঝায়। (
এবং )
একটি চিঠির উভয় পাশে নির্দেশ করে যে চিঠিটি একটি পরিষ্কার বিভাজন তৈরি করতে অর্ধেক হয়ে যাবে।
ইনপুট
ইনপুটটিতে একটি একক "শব্দ" থাকবে (যা অভিধানে থাকা দরকার নেই)। আপনি যে শব্দটি পাঠ্য ইনপুট চান তা নিতে পারেন (স্ট্রিং, চর অ্যারে ইত্যাদি)। এই শব্দটিতে কেবল অক্ষর থাকবে '
, এবং -
(উপরের টেবিলটি দেখুন)। আপনি এই শব্দটি দিয়ে কী করবেন (নীচে দেখুন) এর ফলে ইনপুটটির ক্ষেত্রে বিকাশকারীদের বিবেচনার উপর ছেড়ে যায়। প্রয়োজনে ট্রেলিং করা নতুন লাইনের অনুমতি দেওয়া।
কাজটি
ইনপুটটির সমস্ত ফর্মের মাধ্যমে প্রসারিত করুন (সমস্ত সম্ভাব্য উপরের বা নিম্ন কেস পজিশনে সমস্ত অক্ষর)। উদাহরণস্বরূপ, it's
ইনপুটটির জন্য , নীচে সমস্ত ক্রমবিন্যাস রয়েছে:
it's
it'S
iT's
iT'S
It's
It'S
IT's
IT'S
শব্দের ক্রমবিন্যাসকে অর্ধেক ভাগে ভাগ করতে শব্দের একপাশের পয়েন্টগুলি অবশ্যই শব্দের অন্য পাশের পয়েন্টগুলির সমান হতে হবে। তবে, যদি কোনও চিঠি দুটি এমনকি দুটি বিভাগের মধ্যে আটকে থাকে তবে আপনি একটি চিঠিও অর্ধেক কেটে ফেলতে পারেন।
দয়া করে মনে রাখবেন যে "অর্ধেক" এর অর্থ এই নয় যে আপনি অর্ধেক স্ট্রিংয়ে চলে এসেছেন। "অর্ধ" এর অর্থ উভয় পক্ষের পয়েন্ট সমান।
উদাহরণ:
W
5 পয়েন্ট। i
1 পয়েন্ট। Wiiiii
অর্ধেকের মধ্যে আদেশ বিভক্তকরণের ফলস্বরূপ W | iiiii
, এর প্রতিটি পাশের 5 টি পয়েন্ট থাকবে |
।
T
3 পয়েন্ট। TTTT
অর্ধেকের মধ্যে আদেশ বিভক্তকরণের ফলস্বরূপ TT | TT
, এর প্রতিটি পাশের 6 টি পয়েন্ট থাকবে |
।
w
4 পয়েন্ট। a 3 পয়েন্ট waw
অর্ধেকের মধ্যে আদেশ বিভক্ত করার ফলে w (a) w
প্রতিটি পাশের 5.5 পয়েন্ট থাকবে। অর্ধেক বিভক্ত a
হিসাবে বিন্দুগুলি উভয় পক্ষের মধ্যে বিতরণ করা a
হয়।
আউটপুট
আপনার আউটপুটটি ইনপুটটির স্বতন্ত্র ক্রম সংখ্যার পূর্ণসংখ্যা যা পরিষ্কারভাবে অর্ধেকভাবে বিভক্ত হতে পারে। প্রয়োজনে ট্রেলিং করা নতুন লাইনের অনুমতি দেওয়া।
পরীক্ষার কেস
আমি পরীক্ষার ক্ষেত্রে ইনপুটটির সমস্ত বৈধ অনুমতিগুলি আউটপুট করব। মনে রাখবেন যে এটি আপনার জন্য চশমাগুলির অংশ নয়।
আমার মধ্যবর্তী আউটপুটে, সংখ্যাগুলি তাদের উপরে বর্ণের পয়েন্টের মান নির্দেশ করে, তাই আউটপুটটি ভিজ্যুয়ালাইজ করা কিছুটা সহজ।
Input: a
( a )
3
( A )
4
Output: 2
Input: in
Output: 0
Input: ab
A | B
4 4
a | b
3 3
Output: 2
Input: abc
A ( B ) C
4 4 4
A ( b ) C
4 3 4
a ( B ) c
3 4 3
a ( b ) c
3 3 3
Output: 4
Input: will
W ( I ) L l
5 1 4 1
W ( I ) l L
5 1 1 4
W ( i ) L l
5 1 4 1
W ( i ) l L
5 1 1 4
w I | L l
4 1 4 1
w I | l L
4 1 1 4
w i | L l
4 1 4 1
w i | l L
4 1 1 4
Output: 8
Input: stephen
S T E ( P ) H E N
4 4 4 4 4 4 4
S T E ( p ) H E N
4 4 4 3 4 4 4
S T E | p h e n
4 4 4 3 3 3 3
S T e ( P ) H E n
4 4 3 4 4 4 3
S T e ( P ) H e N
4 4 3 4 4 3 4
S T e ( P ) h E N
4 4 3 4 3 4 4
S T e ( p ) H E n
4 4 3 3 4 4 3
S T e ( p ) H e N
4 4 3 3 4 3 4
S T e ( p ) h E N
4 4 3 3 3 4 4
S t E ( P ) H e n
4 2 4 4 4 3 3
S t E ( P ) h E n
4 2 4 4 3 4 3
S t E ( P ) h e N
4 2 4 4 3 3 4
S t E ( p ) H e n
4 2 4 3 4 3 3
S t E ( p ) h E n
4 2 4 3 3 4 3
S t E ( p ) h e N
4 2 4 3 3 3 4
S t e ( P ) h e n
4 2 3 4 3 3 3
S t e p | H E N
4 2 3 3 4 4 4
S t e ( p ) h e n
4 2 3 3 3 3 3
s T E ( P ) H E n
3 4 4 4 4 4 3
s T E ( P ) H e N
3 4 4 4 4 3 4
s T E ( P ) h E N
3 4 4 4 3 4 4
s T E ( p ) H E n
3 4 4 3 4 4 3
s T E ( p ) H e N
3 4 4 3 4 3 4
s T E ( p ) h E N
3 4 4 3 3 4 4
s T e ( P ) H e n
3 4 3 4 4 3 3
s T e ( P ) h E n
3 4 3 4 3 4 3
s T e ( P ) h e N
3 4 3 4 3 3 4
s T e ( p ) H e n
3 4 3 3 4 3 3
s T e ( p ) h E n
3 4 3 3 3 4 3
s T e ( p ) h e N
3 4 3 3 3 3 4
s t E ( P ) h e n
3 2 4 4 3 3 3
s t E p | H E N
3 2 4 3 4 4 4
s t E ( p ) h e n
3 2 4 3 3 3 3
s t e P | H E N
3 2 3 4 4 4 4
s t e p | H E n
3 2 3 3 4 4 3
s t e p | H e N
3 2 3 3 4 3 4
s t e p | h E N
3 2 3 3 3 4 4
Output: 37
Input: splitwords
S P L I T | W O r d s
4 4 4 1 4 5 4 2 3 3
<snip>
s p l i t w | o R d S
3 3 1 1 2 4 3 4 3 4
Output: 228
Input: 'a-r
' a ( - ) R
1 3 2 4
' a | - r
1 3 2 2
Output: 2
Input: '''''-
' ' ' ( ' ) ' -
1 1 1 1 1 2
Output: 1
জিত
এটি কোড-গল্ফ , তাই বাইট জেতে সংক্ষিপ্ত উত্তর। আপনাকে অবশ্যই সমস্ত পরীক্ষার কেসগুলি (তাই 10 অক্ষর পর্যন্ত সমস্ত ইনপুট) আউটপুট দিতে সক্ষম হতে হবে a কৃত্রিমভাবে আপনার ইনপুট ক্যাপ করবেন না।
খয়রাত
আমি জানি না এটি সম্ভাবনার ক্ষেত্রে রয়েছে কিনা। যাইহোক, আপনি গল্ফার - আপনি প্রতিনিধি জন্য কিছু করতে হবে। আমি একটি 200 রিপ্রেস অনুগ্রহ দিচ্ছি ( antidisestablishmentarianism
একটি গড় কম্পিউটারে (ওরফে মাইন)) 15 সেকেন্ডের নীচে সঠিক আউটপুট দেয় এমন একটি প্রোগ্রামের জন্য আমি এই অনুগ্রহ শর্তটি শেষ হয়ে গেলে আমি এটি শুরু করব bas দয়া করে মনে রাখবেন যে এই পরীক্ষার কেসটি কোনওভাবেই হার্ড কোডিং করা উচিত নয়।
@ ডিজিটাল ট্রুমা আমার অনুগ্রহকে চূর্ণ করল, দুই সেকেন্ডের মধ্যে ভালভাবে চলে আসছিল। তার উত্তর এখানে দেখুন ।
antidisestablishmentarianism
(নন-গোল্ফী) এর জন্য আমার প্রথম গণনাটি 83307040
(এবং সমস্ত পরীক্ষার কেসের সাথে মেলে) তবে এটি আমার ল্যাপটপে ~ 37 সেকেন্ড সময় নেয় (মনে রাখবেন এটি পাইথন। কারও কি এর জন্য একটি গণনা আছে?