আপনি একটি সমান্তরাল মহাবিশ্বে স্থানান্তরিত হয়েছেন যেখানে লোকেরা হাতে হাতে ASCII শিল্প হিসাবে কম্পিউটারে গাণিতিক সমীকরণ লেখেন। ল্যাটেক্স আসক্ত হিসাবে, এটি সম্পূর্ণরূপে অগ্রহণযোগ্য এবং আপনার এই প্রক্রিয়াটি কিছুটা স্বয়ংক্রিয়ভাবে করা উচিত।
আপনার লক্ষ্য হ'ল একটি প্রোগ্রাম লিখুন যা একটি লেটেক্স গণিত কমান্ড হিসাবে সমীকরণের ASCII সংস্করণকে আউটপুট করে।
বাধ্যতামূলক ল্যাটেক্স সমর্থন করার জন্য আদেশ দেয়
যোগফল: একটি যোগফলের জন্য ল্যাটেক্স কমান্ড
\sum_{lower bound}^{upper bound}আপনার অঙ্কের জন্য যে ASCII চিত্রটি ব্যবহার করতে হবে তা হ'ল:
upper bound ___ \ ` /__, lower boundপণ্য: একটি পণ্যের জন্য ল্যাটেক্স কমান্ড
\prod_{lower bound}^{upper bound}আপনার পণ্যগুলির জন্য যে ASCII চিত্রটি ব্যবহার করতে হবে তা হ'ল:
upper bound ____ | | | | lower boundভগ্নাংশ: ভগ্নাংশের জন্য ল্যাটেক্স কমান্ডটি
\frac{numerator}{denominator}ভগ্নাংশের জন্য আপনাকে যে ASCII চিত্রটি ব্যবহার করতে হবে তা হ'ল:
numerator ----------- denominator
এই তিনটি কমান্ডের একটি নয় এমন যে কোনও কিছু যেমন রয়েছে তেমন প্রদর্শিত হয়। উদাহরণস্বরূপ, \sum{i=3}^{e^10}\frac{3x+5}{2}হিসাবে প্রদর্শিত হবে
e^10
___ 3x+5
\ ` ----
/__, 2
i=3
ইনপুট
ইনপুটটি একটি স্ট্রিং হিসাবে পাস করা একটি ল্যাটেক্স কমান্ড (বা আপনার ভাষার স্ট্রিংগুলির সমতুল্য)। ল্যাটেক্স কমান্ডগুলি নেস্ট করা যায়, উদাহরণস্বরূপ \frac{\frac{1}{2}}{3}একটি বৈধ ইনপুট। ইনপুটগুলি সর্বদা সঠিক বলে মনে করা হয় (আপনার কোডে ল্যাটেক্সের সিনট্যাক্স পরীক্ষা করার দরকার নেই)। ইনপুটগুলিতে কেবল উপস্থাপিত তিনটি ল্যাটেক্স কমান্ড এবং 'পাঠ্য' থাকবে যা আপনাকে ফর্ম্যাট করতে হবে না।
ল্যাটেক্স কমান্ডগুলি সর্বদা উপরে উপস্থাপিত সিনট্যাক্স সহ আসবে, অর্থাত্ যোগফল এবং পণ্যগুলি সর্বদা উপরের এবং নীচের সীমানা (যদিও তারা খালি থাকতে পারে) থাকবে এবং ভগ্নাংশের জন্য সর্বদা একটি সংখ্যক এবং ডিনোমিনেটর থাকবে।
আমরা ধরে নিই যে পরিমাণে এবং পণ্যগুলির সীমাটি সর্বাধিক 4 টি অক্ষর দীর্ঘ (= সমষ্টি এবং পণ্য প্রতীকগুলির প্রস্থ), যাতে আপনাকে সম্ভাব্য ওভারল্যাপ সংক্রান্ত সমস্যাগুলির বিষয়ে চিন্তা করতে হবে না। অনুরূপ কারণে, আমরা ধরে নিই যে সীমাগুলি কেবল 'পাঠ্য' এবং ল্যাটেক্স কমান্ড কখনও হবে না, যেমন \sum_{\sum_{1}^{2}}^{1}কোনও বৈধ ইনপুট নয়।
আউটপুট
আপনার প্রোগ্রামটির আউটপুট হ'ল ল্যাপেক্স কমান্ডের ASCII উপস্থাপনা যা আপনাকে ইনপুট হিসাবে দেওয়া হয়েছিল।
আপনার প্রোগ্রামটি অনুভূমিক প্রান্তিককরণটিকে অ্যাকাউন্টে নিতে হবে: উদাহরণস্বরূপ, যোগফল বা পণ্যটির সীমাটি অনুভূমিকভাবে যোগ বা পণ্য চিহ্ন (যা উভয় 4 টি অক্ষরের প্রশস্ত) এর সাথে আনুভূমিকভাবে সংযুক্ত করতে হবে। যদি বাউন্ডে একটি বিজোড় সংখ্যক অক্ষর থাকে তবে এটি কেন্দ্রের ডানদিকে বা বাম দিকের যে কোনও একটি অক্ষর, যা ভাল তা বিবেচনাধীন নয়। ভগ্নাংশের রেখাটি সংখ্যা বা ডিনোমিনেটরের যতো দীর্ঘতম হতে হবে।
আপনার প্রোগ্রামটি উল্লম্ব সারিবদ্ধতা অ্যাকাউন্টে নিতে হবে: উদাহরণস্বরূপ, \frac{\frac{1}{2}}{3} = \frac{1}{6}হিসাবে প্রদর্শিত হবে
1
-
2 1
- = -
3 6
অঙ্কগুলি এবং পণ্যগুলির জন্য, যেহেতু চিহ্নগুলি 4 টি অক্ষর বেশি, তাই উল্লম্ব কেন্দ্রটি শীর্ষ থেকে দ্বিতীয় লাইন হিসাবে ধরে নেওয়া হয়।
অনুভূমিক ব্যবধানটি প্রদত্ত ইনপুটটিতে সঠিক বলে ধরে নেওয়া হয়, ইনপুটটিতে ফাঁকা স্থানগুলি প্রদর্শিত হবে।
পরীক্ষার মামলা
ইনপুট
abc = 2আউটপুট
abc = 2ইনপুট
e = \sum_{n=0}^{+inf} \frac{1}{n!}আউটপুট
+inf ___ 1 e = \ ` -- /__, n! n=0ইনপুট
e^x = 1 + \frac{x}{1 - \frac{x}{2 + x - ...}}আউটপুট
x e^x = 1 + --------------- x 1 - ----------- 2 + x - ...ইনপুট
\prod_{i=1}^{n} \frac{\sum_{j=0}^{m} 2j}{i + 1}আউটপুট
m ___ \ ` 2j n /__, ____ j=0 | | ------- | | i + 1 i=1ইনপুট
\frac{sum}{prod} = \sum_{frac}^{prod} sumআউটপুট
prod sum ___ ---- = \ ` sum prod /__, frac
স্কোরিং
এটি কোড-গল্ফ , তাই সংক্ষিপ্ততম কোডটি জয়ী।
