প্রচলন
একটি 2 × n বুলিয়ান ম্যাট্রিক্স চারটি অক্ষরের একটি স্ট্রিং হিসাবে উপস্থাপিত হতে পারে . ':
। স্ট্রিংটিতে একটি "উপরের সারি" এবং একটি "নিম্ন সারি" রয়েছে, যার মধ্যে বিন্দু 1 টি প্রতিনিধিত্ব করে এবং ফাঁকা স্থান 0 টি প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, 2 × 6 ম্যাট্রিক্স
1 0 1 0 0 1
0 0 0 1 0 1
হিসাবে প্রতিনিধিত্ব করা যেতে পারে ' '. :
। আপনার কাজটি হ'ল এই "সংকুচিত আকারে" ম্যাট্রিক্স নেওয়া এবং তার এন্ট্রিগুলি কনভেয়ার বেল্টের মতো এক ধাপ ঘড়ির কাঁটার দিকে ঘোরানো।
ইনপুট
আপনার ইনপুটটি অক্ষরের উপরে একক স্ট্রিং . ':
। এর দৈর্ঘ্য কমপক্ষে 2 হওয়ার নিশ্চয়তা রয়েছে।
আউটপুট
আপনার আউটপুটটি ইনপুট স্ট্রিং হবে তবে প্রতিটি বিন্দুর সাথে ঘড়ির কাঁটার দিকে এক ধাপ ঘোরানো হবে। আরও স্পষ্টতই, উপরের সারির বিন্দুগুলি ডানদিকে আরও এক জায়গায় ডানদিকে ডানদিকে ডানে, যা নীচে চলেছে। নীচের সারির বিন্দুগুলি বাম দিকে এক ধাপ সরে যায়, বাম দিকের একটিকে ছাড়াই, যা উপরে চলে যায়। বিশেষত, আউটপুট স্ট্রিংয়ের অবশ্যই মূলটির সমান দৈর্ঘ্য থাকতে হবে এবং সাদা স্থানটি উল্লেখযোগ্য।
উদাহরণ
ইনপুট স্ট্রিংটি বিবেচনা করুন :..:'.
যা 2 × 6 ম্যাট্রিক্সের সাথে মিলে যায়
1 0 0 1 1 0
1 1 1 1 0 1
এই ম্যাট্রিক্সের আবর্তিত সংস্করণটি হ'ল
1 1 0 0 1 1
1 1 1 0 1 0
যা স্ট্রিংয়ের সাথে মিলে যায় ::. :'
।
বিধি এবং স্কোরিং
আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। সর্বনিম্ন বাইট গণনা জয়, এবং মান লুফোলগুলি অনুমোদিত নয়। ইনপুট এবং আউটপুট উদ্ধৃতিতে আবদ্ধ আছে কিনা তা আপনি সিদ্ধান্ত নিতে পারেন এবং একটি অনুবর্তনযোগ্য নতুন লাইন উভয় ক্ষেত্রে গ্রহণযোগ্য।
পরীক্ষার মামলা
এই পরীক্ষার কেসগুলি ডাবল কোটে সংযুক্ত থাকে।
" " -> " "
" ." -> ". "
". " -> "' "
"' " -> " '"
" '" -> " ."
": " -> "''"
"''" -> " :"
":." -> ":'"
":.'" -> ":'."
"..." -> ":. "
": :" -> "':."
"':." -> ".:'"
".:'" -> ": :"
" " -> " "
"::::" -> "::::"
":..:'." -> "::. :'"
" : .:'" -> ". '.. :"
": ''. :" -> "'' :'.."
"........" -> ":...... "
":::: " -> ":::'' "
" ::::" -> " ..:::"
" : : : : " -> ". : : : '"
".'.'.'.'.'" -> "'.'.'.'.'."
".. :: '.' :." -> ": ..'' .' :.'"
".' '.:: :.'. . ::.' '. . .::' :.'." -> "' ' .:.''..'.'. ..:' ' .'. ...'''..'.'"
s=>s.replace(/./g,(c,i)=>" '.:"[(i?q>' '&q!=".":c>"'")+(q=c,s[++i]?s[i]>"'":c>' '&c!=".")*2])
(2 অংশগুলি ফ্লিপ করুন যাতে আমি i, কম রেজিএক্সপ্যাক এবং আরও সাধারণ পরীক্ষা বাড়িয়ে তুলতে পারি, সি সি