আপনার অস্থায়ী ফোল্ডারের গভীরতায় প্রায় খনন করে আপনি পিয়ানোটির জন্য কিছু রচনা খুঁজে পেতে পারেন। দুর্ভাগ্যক্রমে, এই রচনাগুলি কেবল নোটের নাম এবং সময়কাল সহ লেখা হয়েছিল এবং আপনার কেবল পাঠ্য টার্মিনালে অ্যাক্সেস রয়েছে। অতএব, আপনার কাজটি ASCII শিল্প হিসাবে রচনাগুলি প্রদর্শন করতে একটি প্রোগ্রাম লিখতে হবে।
ইনপুট
আপনার প্রোগ্রামটি ইনপুট হিসাবে দুটি স্ট্রিং গ্রহণ করা উচিত। প্রথম স্ট্রিং শীর্ষ কর্মীদের নোটগুলি উপস্থাপন করবে (ট্রাবল ক্লাফ সহ), দ্বিতীয় স্ট্রিংটি নীচের কর্মীদের নোটগুলি উপস্থাপন করবে।
নোটগুলি বৈজ্ঞানিক পিচ স্বরলিপিতে পাস করা হবে । শীর্ষস্থানীয় কর্মীদের নোটগুলি সর্বদা C4
এবং C6
অন্তর্ভুক্ত থাকবে। নীচের কর্মীদের নোটগুলি সর্বদা C2
এবং C4
অন্তর্ভুক্ত থাকবে।
প্রতিটি লক্ষ্য করুন, একটি সময়কাল, যার মধ্যে একটি হতে হবে সঙ্গে আসা হবে: 1
, 2
, 4
, 8
। এগুলি যথাক্রমে একটি সম্পূর্ণ নোট (সেমিব্রেভ), একটি অর্ধ নোট (মিনিমাম), একটি চতুর্থাংশ নোট (ক্রোটচেট) এবং একটি অষ্টম নোট (কোভার) উপস্থাপন করে।
অন্য কোনও সময়কালের নোটগুলি কখনই ইনপুটটিতে উপস্থিত হবে না।
কীভাবে নোট এবং সময়কাল পৃথক করা হয় এবং প্রতিটি নোট কীভাবে অন্য নোটগুলি থেকে ইনপুটটিতে পৃথক হয় তা আপনার বিবেচনার অবধি। নিম্নলিখিত শীর্ষ কর্মীদের জন্য একটি নমুনা ইনপুট:
E4/4 A4/8 C#5/8 E5/2
এখানে, নোটগুলি একটি স্পেস দ্বারা পৃথক করা হয়েছে, এবং সময়কালটি ফরোয়ার্ড স্ল্যাশ সহ নোট থেকে আলাদা করা হবে। এই সীমানা সংশোধন করা হয়নি, এবং আপনি এগুলি পরিবর্তন বা সম্পূর্ণ বাদ দিতে বেছে নিতে পারেন।
আপনি ধরে নিতে পারেন প্রতিটি কর্মীর মধ্যে কমপক্ষে একটি নোট রয়েছে। ইনপুটটিতে কোনও বিশ্রাম নেই।
আউটপুট
আপনার প্রোগ্রামটি ASCII আর্ট হিসাবে স্কোরকে আউটপুট দেওয়ার জন্য নিম্নলিখিত বর্ণনার সাথে সামঞ্জস্য করে।
ক্লিফগুলি আপনার আউটপুটটির বামে প্রথম জিনিস হওয়া উচিত (দুটি স্তরের মধ্যে দূরত্ব পরিবর্তন করা উচিত নয়):
^
| |
------|/----
/
-----/|-----
/ |
---/--__----
| / \
---\-\|-|---
\ | /
------|-----
|
\_/
----___-----
/ \ |
---\---|----
| |
-------/----
/
-----/------
------------
যদি নোটটি কোনও স্টাফের মাঝের লাইনের নীচে থাকে তবে একটি নোটের স্টেম (বৃত্তের পাশের উল্লম্ব রেখাটি) উপরের দিকে নির্দেশ করা উচিত। নোটটি কোনও কর্মীদের মধ্য লাইনের উপরে থাকলে এটি নীচের দিকে নির্দেশ করা উচিত। নোটটি যদি মাঝের লাইনে থাকে তবে স্টেমটি উভয় দিকেই নির্দেশ করতে পারে। (এটির একমাত্র ব্যতিক্রম বোনাসের জন্য এবং পরে বর্ণিত অষ্টম নোট সংযোগ করার সময় ঘটে)। কান্ডটি বৃত্তের উপরে / নীচের লাইনে শুরু হওয়া উচিত এবং 6
লম্বা লম্বা হওয়া উচিত।
পুরো নোট ছাড়া সমস্ত ধরণের নোটের ডাঁটা থাকে। অষ্টম নোটের পতাকাটি বিভিন্ন লাইনগুলিতে দুটি ফরোয়ার্ড স্ল্যাশ দ্বারা প্রতিনিধিত্ব করা হয় (নীচের উদাহরণে নোট দেখুন)।
ভরাট নোটের মাথা (ত্রৈমাসিক এবং অষ্টম নোটের জন্য) প্রতিনিধিত্ব করে (@)
। একটি খালি নোটের মাথা (অর্ধ এবং পুরো নোটগুলির জন্য) প্রতিনিধিত্ব করে ( )
।
দুর্ঘটনার (তীক্ষ্ণ, ফ্ল্যাটগুলি, প্রাকৃতিক) উদাহরণ নোটগুলিতে যেমন দুর্ঘটনার ডান দিকের এবং নোটের মাথার বাম পাশের মাঝখানে ঠিক একটি অক্ষর হিসাবে দেখানো উচিত।
প্রয়োজনে লেজার লাইনগুলি ব্যবহার করা উচিত 7
এবং নোটের মাথার চারপাশে কেন্দ্রে দৈর্ঘ্য হওয়া উচিত length
প্রতিটি নোট 12
অক্ষরের প্রশস্ত হওয়া উচিত ।
উদাহরণ দ্রষ্টব্য:
|_
|_| ( )
| |------
|
------------ ---------|-- ------------ ------------ ------------
|
------------ ---------|-- ---|-------- ------------ ------------
(@) _|_|_ | |_
-----|------ _|_|_-( )--- ---|/-(@)--- ------------ ---------|\-
| | | | | \
-----|------ ------------ -----|------ ------------ ---------|--
| | |
-----|------ ------------ -----|------ ------------ ---------|--
| | / |
|/ --(@)--
quarter note half note eighth note whole note eighth note
sharped flatted natural
12-অক্ষরের নোটের পরে, নোটটি একটি চতুর্থ নোট হলে 2 * 12 - 12 = 12
অক্ষরগুলি ফাঁকা ছেড়ে দিন (হয় বা
-
লাইনটির উপর নির্ভর করে)। নোটটি যদি অর্ধেক নোট হয় তবে 4 * 12 - 12 = 36
অক্ষরগুলি ফাঁকা রাখুন। নোটটি যদি একটি সম্পূর্ণ নোট হয় তবে 8 * 12 - 12 = 84
অক্ষরগুলি ফাঁকা রাখুন। অষ্টম নোটের জন্য অতিরিক্ত অক্ষর যুক্ত করবেন না।
প্রতিটি পরিমাপের শেষে (ক্লেফ বা বার লাইনের পরে 96 টি অক্ষর), একটি বার লাইন আউটপুট করুন। এটি উপরের এবং নীচে-সর্বাধিক রেখার (অন্তর্ভুক্ত) প্রতিটি অক্ষরকে নীচে রেখে
|
এবং এর -
সাথে এবং এর মাধ্যমে প্রতিস্থাপন করে সম্পন্ন করা হয় +
। (প্রশ্নের নীচে উদাহরণ আউটপুট দেখুন)।
টুকরোটির শেষে, এক বারে তিনটি বার লাইন আউটপুট করে সঙ্গীতটি আউটপুট করুন তবে প্রথম এবং দ্বিতীয়টির মধ্যে একটি জায়গা থাকবে। এটাই:
+-++
| ||
+-++
| ||
. ..
. ..
নোট করুন যে শার্পস, ফ্ল্যাটগুলি এবং প্রাকৃতিকগুলি পরিমাপের শেষ পর্যন্ত স্থায়ী। প্রাকৃতিক চিহ্নটি কেবল একই পরিমাপে ব্যবহৃত তীক্ষ্ণ বা ফ্ল্যাট বাতিল করার জন্য ব্যবহার করা উচিত।
এই কাজের উদ্দেশ্যে, শার্পস, ফ্ল্যাট এবং প্রাকৃতিক শুধুমাত্র একটি অষ্টক মধ্যে একটি নোট প্রভাবিত করে, এবং একটি ক্লাফ (A5 উপর একটি ধারালো A4 তীক্ষ্ণ হয় না, এবং শীর্ষ কর্মীদের সি 4 এ একটি ফ্ল্যাট সৃষ্টি করে না) সি 4 নীচে কর্মীদের সমতল করা হবে)।
শুধুমাত্র বোনাস জন্য তথ্য
বোনাস সঠিকভাবে অষ্টম নোট সংযোগ জড়িত।
যখন টানা দুটি অষ্টম নোট থাকে, তখন কোয়ার্টার নোট বিটের সাথে সংযুক্ত থাকে (অন্য কথায়, প্রথম অষ্টম নোটের আগে অক্ষরের সংখ্যা 24 এর একক হয়), দুটি অষ্টম নোট সংযুক্ত করতে হয়।
চিরকুটটি একটি কর্মীদের মধ্য থেকে নোট হতে হবে। উভয় নোট মধ্যম থেকে একই দূরত্ব থাকেন, হয় নোট নোট হতে পারে একটি । অন্য নোটটি নোট বি হতে দিন ।
দিক উভয় ডালপালা নোট স্টেম দিক হওয়া উচিত একজন ।
নোটগুলির একটির 6
কান্ডটি লম্বা লম্বা হওয়া উচিত (যেমনটি সাধারণ কান্ডের ক্ষেত্রে হয়), এবং অন্যান্য নোটের কান্ডটি অন্য নোটের ডাঁটির শেষ প্রান্তে প্রসারিত করা উচিত।
ডালপালা সাথে সংযুক্ত করা উচিত _
।
সংযুক্ত অষ্টম নোট উদাহরণ:
___________
| |
| |
| |
| | --(@)--
| | | |
------------------------ ---|_----|-----------|-- -----|------------------
|/ (@) | | |_
------------------------ ---------------------|-- -----|--------|_|-(@)---
(@) _|_|_ | | ||
-----|------_|_|_-(@)--- ---------------------|-- -----|-----------|------
| | | | | | |
-----|-----------|------ ---------------------|-- -----|-----------|------
| | | | |
-----|-----------|------ ------------------(@)--- -----|___________|------
| |
|___________|
উদাহরণ ইনপুট এবং আউটপুট
ইনপুট :
A#4/4 G#4/4 F#4/2 A#4/4 G#4/4 F#4/2 F#4/8 F#4/8 F#4/8 F#4/8 G#4/8 G#4/8 G#4/8 G#4/8 A#4/4 G#4/4 F#4/2
A#3/4 G#3/4 F#3/2 A#3/4 G#3/4 F#3/2 F#3/2 G#3/2 F#3/4 E#3/4 F#3/2
আউটপুট :
^
| | | | |
------|/-------------|-----------------------|--------------------------------------------------------------+---------|-----------------------|--------------------------------------------------------------+----------___________-------------___________------------|\----------|\----------|\----------|\-+---------|-----------------------|--------------------------------------------------------------+-++
/ | | | | | | | | | | | | | \ | \ | \ | \| | | | | ||
-----/|--------------|-----------------------|-----------------------|--------------------------------------+---------|-----------------------|-----------------------|--------------------------------------+---------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|--+---------|-----------------------|-----------------------|--------------------------------------+-++
/ | | | | | | | | | | | | | | | | | | | | | | ||
---/--__----_|_|_----|-----------------------|-----------------------|--------------------------------------+_|_|_----|-----------------------|-----------------------|--------------------------------------+---------|-----------|-----------|-----------|-----------|-----------|-----------|-----------|--+_|_|_----|-----------------------|-----------------------|--------------------------------------+-++
| / \ _|_|_ (@) _|_|_ | | |_|_|_ (@) _|_|_ | | | | | | | _|_|_ | | | | |_|_|_ (@) _|_|_ | | | ||
---\-\|-|----|-|--------------------_|_|_-(@)---------------_|_|_----|--------------------------------------+-|-|--------------------_|_|_-(@)---------------_|_|_----|--------------------------------------+_|_|_----|-----------|-----------|-----------|--_|_|_-(@)---------(@)---------(@)---------(@)---+-|-|--------------------_|_|_-(@)---------------_|_|_----|--------------------------------------+-++
\ | / | | _|_|_ ( ) | | | _|_|_ ( ) |_|_|_ (@) (@) (@) (@) | | | | | _|_|_ ( ) | ||
------|------------------------------------------------------|-|--------------------------------------------+-------------------------------------------------|-|--------------------------------------------+-|-|--------------------------------------------------------------------------------------------+-------------------------------------------------|-|--------------------------------------------+-++
| | | | | ||
\_/ | | | | ||
| | | | ||
| | | | ||
| | | | ||
| | | | ||
_|_|_ |_|_|_ | | | ||
----___-----_|_|_-(@)---------------_|_|_-------------------------------------------------------------------+_|_|_-(@)---------------_|_|_-------------------------------------------------------------------+------------------------------------------------_|_|_-------------------------------------------+------------------------------------------------------------------------------------------------+-++
/ \ | | | | _|_|_ (@) _|_|_ | | | | _|_|_ (@) _|_|_ |_|_|_ _|_|_ ( ) |_|_|_ | ||
---\---|---------|-------------------|-|-|------------------_|_|_-( )---------------------------------------+-----|-------------------|-|-|------------------_|_|_-( )---------------------------------------+_|_|_-( )----------------------------------------|-|-|------------------------------------------+_|_|_ (@)---------------_|_|_-------------------------( )---------------------------------------+-++
| | | | | | | | | | | | | | | | | | | | | | _|_|_ (@) | | ||
-------/---------|-----------------------|-----------------------|------------------------------------------+-----|-----------------------|-----------------------|------------------------------------------+-----|-----------------------------------------------|------------------------------------------+-----|-------------------|-|-|-----------------------|------------------------------------------+-++
/ | | | | | | | | | | | | | | | ||
-----/-----------|-----------------------|-----------------------|------------------------------------------+-----|-----------------------|-----------------------|------------------------------------------+-----|-----------------------------------------------|------------------------------------------+-----|-----------------------|-----------------------|------------------------------------------+-++
| | | | | | | | | | | | | ||
-----------------------------------------------------------------|------------------------------------------+-----------------------------------------------------|------------------------------------------+-----|------------------------------------------------------------------------------------------+-----|-----------------------|-----------------------|------------------------------------------+-++
|
প্রদর্শনের খাতিরে, তৃতীয় পরিমাপে, F#
অষ্টম নোটগুলি সংযুক্ত রয়েছে, তবে G#
অষ্টম নোটগুলি নেই। আপনার প্রোগ্রামটি হয় হয় যখনই প্রযোজ্য (বোনাসের জন্য) অষ্টম নোটকে সংযুক্ত করা উচিত, বা সেগুলি সমস্ত সংযোগ বিচ্ছিন্ন করে দেওয়া উচিত।
অন্যান্য তথ্য
- হোয়াইটস্পেস / লাইনগুলি অনুসরণের যে কোনও পরিমাণই গ্রহণযোগ্য।
- ক্লিফগুলির আগে কোনও অতিরিক্ত শ্বেতস্থান থাকতে হবে না, নোটের মধ্যে সাদা অংশ থাকতে হবে না। আউটপুটের আগে / পরে যেকোনও সংখ্যা ফাঁকা রেখা নির্গত হতে পারে।
- অষ্টম নোট সংযোগ করার জন্য বোনাস হিসেবে রয়েছে 0.75 উত্স কোডের বাইটের * সংখ্যা ।
- এটি কোড-গল্ফ , তাই সংক্ষিপ্ততম কোড জিততে পারে।