পবিত্র যুদ্ধগুলি স্পেস বনাম ট্যাবগুলিতে লড়াই করা হয়েছে। (এবং অবশ্যই স্পেস, নিরপেক্ষভাবে উচ্চতর হচ্ছে, জিতেছে।) - অ্যালেক্স উ:
এস Ome peo পি Le এখনো অস্বীকার করার একটি ccept যে whi গ জ CL হয় ই arly গুলি upreme। আপনি শুধু পেয়েছি একটি ফাইল incor ব্যবহার পুনরায় CT, খ বিজ্ঞাপন, এবং INF ই whi এর rior ফর্ম টি Espace, এবং এখন t তিনি চলছে ই ফাইলটি একটি এর nts R ই দূষিত এবং ছারখার।
আপনি স্থির করে নিন যে আপনি সেই ব্যক্তিকে দেখিয়ে দিতে পারেন যিনি আপনাকে ফাইলটি প্রেরণ করেছেন কেবল তারা কতটা ভুল - হিংস্রভাবে।
বিবরণ
শিরোনামের পরামর্শ অনুসারে, আপনার চ্যালেঞ্জটি এমন একটি ফাইল নেওয়া যা একটি বা একাধিক ট্যাব ধারণ করে:
this is an evil tab onoes
এবং নির্মমভাবে তাদের টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো করা
this is an evil tab
o
n
o
e
s
মনে রাখবেন স্ট্যাক এক্সচেঞ্জ সফ্টওয়্যার আক্ষরিক ট্যাবগুলিকে চারটি জায়গায় স্থান দেয় (কারণ এটি ঠিক), সুতরাং এই পোস্টের মধ্যে থাকা ট্যাবগুলি চারটি স্থান হিসাবে প্রদর্শিত হবে। আপনার প্রোগ্রামের ইনপুটটিতে তবে প্রকৃত ট্যাব থাকবে।
চ্যালেঞ্জ
সমাধানটি ইনপুট হিসাবে একটি একক স্ট্রিং গ্রহণ করা উচিত, এতে মুদ্রণযোগ্য এএসসিআইআই, নিউলাইনস এবং ট্যাব থাকতে পারে। ইনপুটটিতে সর্বদা কমপক্ষে একটিমাত্র ট্যাব থাকবে।
নিম্নলিখিত বিধি প্রয়োগ করে আউটপুট একই স্ট্রিং হওয়া উচিত:
স্থানাঙ্ক (0,0) এবং ডান দিকের সাথে কার্সারটি শুরু করুন। স্থানাঙ্কগুলি হ'ল (কলাম, সারি), শূন্য-সূচকযুক্ত এবং দিকনির্দেশটি কোনও অক্ষর মুদ্রণের পরে কার্সারটি সরানো উচিত way
স্ট্রিংয়ের প্রতিটি চরিত্রের জন্য:
যদি এটি একটি নতুন লাইন থাকে তবে স্থানাঙ্কগুলিতে যান (0, n), যেখানে n এখন পর্যন্ত স্ট্রিংয়ের নতুন লাইনের সংখ্যা (এটি সহ) টিপুন এবং ডানদিকে দিকটি পুনরায় সেট করুন।
যদি এটি কোনও ট্যাব হয় তবে দুটি স্পেস আউটপুট করুন, কার্সার দিকটি 90 ডিগ্রি ঘড়ির কাঁটার দিকে ঘোরান , এবং আরও দুটি স্পেস আউটপুট করুন, কার্যকরভাবে ট্যাবটিকে অর্ধেক "ব্রেক"। এখানে একটি ভিজ্যুয়াল উদাহরণ রয়েছে, যেখানে কোনও ট্যাব হিসাবে উপস্থাপিত হয়
--->
এবং স্থানগুলি·
:foo--->bar--->baz
হয়ে
foo··· · b a r · · zab··
অন্যথায়, কেবল কার্সারে অক্ষর আউটপুট করুন এবং কার্সারটিকে বর্তমান দিকের এক ধাপে সরান।
যেহেতু আপনি স্ট্রিংটি শুরু থেকে শেষ পর্যন্ত পড়ছেন, তাই সম্ভবত বিদ্যমান অক্ষরের "শীর্ষে" আপনাকে লিখতে হবে - এটি ঠিক আছে। উদাহরণস্বরূপ, ইনপুট
foo--->bar
spaces are superior
এর একটি আউটপুট হতে হবে
foo
b
spaces are superior
r
"ভাঙা ট্যাবগুলি" অন্যান্য অক্ষরগুলিকে মুছে ফেলা উচিত কিনা তা আপনি বেছে নিতে পারেন — আসল উদ্দেশ্যটি তারা না করে তবে স্পেসটি অস্পষ্ট ছিল তাই এটি আপনার সিদ্ধান্ত।
তদ্ব্যতীত, এই বিধি প্রয়োগ করার পরে, আপনিও করতে পারেন
আপনার পছন্দ মতো অনেকগুলি ট্রেলিং স্পেস যুক্ত বা সরিয়ে দিন।
সর্বাধিক একক ট্রেলিং নিউলাইন যুক্ত করুন।
ইনপুটটিতে কখনই পিছনের স্থান থাকবে না ; এটিতে কখনও কখনও শীর্ষস্থানীয় বা পিছনে থাকা নিউলাইন থাকবে না। আপনি সর্বদা ধরেও নিতে পারেন যে আপনাকে কখনই কোনও কলামে বা 0 থেকে কম সারি (যেমন পর্দার বাইরে) লিখতে হবে না।
পরীক্ষা ক্ষেত্রে
এই পরীক্ষার ক্ষেত্রে ট্যাবগুলি উপস্থাপন করা হয় --->
কারণ অন্যথায় এসই সেগুলি আপ করে।
ইনপুট:
Test case. Here's a tab--->there's a tab--->everywhere a tab--->tab--->this is some more text
blah
blah
blah blah blah blah blah blah--->blaah--->blaah--->blah--->blaaaaah--->blah--->blah--->blah--->blah--->blah
আউটপুট:
Test case. Here's a tab
blah
blah t
blah blah blah blah blah blah
blaablah
r b
e l b
h 'h a l
a sa a a
l l h h
this is some mobe tbxt
haalhalb
b a
a b
t
bat a erehwyreve
অভিনব অ্যানিমেশন:
বিধি
- এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জিতবে!
(0,0)
হবে তখন আপনার অর্থ কি আমাদের প্রথমে কনসোলটি সাফ করা দরকার, বা আপনি কেবল এটির দ্বারা কার্সরের ডিফল্ট অবস্থানটি বোঝাতে চান?