Задача D1. ТРИЪГЪЛНИЦИ
В тази задача ще разглеждаме текстове, оформени като “равностранни” триъгълници, съставени от нули и единици, като първите ще наричаме 0-триъгълници, а вторите – 1-триъгълници. Всеки триъгълник има дължина на страната, определена от някакво цяло положително число N, по-голямо или равно на три и не по-голямо от 20. Първият ред на триъгълника се състои от една единствена цифра (0 или 1, в зависимост от вида му), вторият ред – от две цифри от съответния вид, разделени с един интервал, който е точно под цифрата от първия ред. Третият ред се състои от три цифри от съответния вид, разделени с по един интервал, като интервалите са точно под цифрите от втория ред и т.н., а последният ред е съставен от N цифри от съответния вид, разделени с по един интервал. 0-триъгълниците се изобразяват изправени – първият ред (с една цифра) отгоре, а последния ред (с N цифри отдолу), докато 1-триъгълниците се изобразяват обърнати – редът с една цифра е отдолу, а този с N цифри – отгоре. Задачата е да направите програма TREE.EXE, която по зададени цели положителни N и M отпечатва следната конструкция: два 0-триъгълника с дължина на страните N са долепени един до друг в основите си (страните с по N цифри са една до друга, разделени с един интервал), а 1-триъгълник със страна M e спуснат в образувалото се между двата 0-триъгълника пространство (виж примерите).
Програмата трябва да прочете числата N и M от клавиатурата (стандартния вход), а да изведе резултата на екрана (стандартния изход), като най-лявата цифра на конструкцията трябва да бъде в първа позиция на съответния ред на екрана.
5 7
Изход
1 1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1
0 1 1 1 1 0
0 0 1 1 1 0 0
0 0 0 1 1 0 0 0
0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0
ПРИМЕР 2
5 3
Изход
0 0
0 0 1 1 1 0 0
0 0 0 1 1 0 0 0
0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Задача D2. АРТУР
Напишете програма ARTUR.EXE, която въвежда броя на рицарите и началния брой на орехите пред всеки от тях, зададени при обхождане на масата по посока на часовниковата стрелка. Тези числа се въвеждат от един ред на стандартния вход и са разделени с по един интервал. Броят на рицарите не е по-голям от 20, а общият брой на орехите не надминава 1000.
Програмата трябва да изведе на стандартния изход най-малкия брой команди, след които се е изпълнило желанието на краля. Ако желанието на краля не може да се изпълни, програмата трябва да изведе 0. Кралят може да даде най-много 10 000 команди.
ПРИМЕР 1 ПРИМЕР 2
Вход Вход
5 2 1 3 1 18 5 2 1 3 1 17
Изход Изход
12 0
Задача D3. ДРОБИ
Напишете програма FRAC.EXE, която събира обикновени дроби.
От един ред на стандартния вход се въвеждат 4 естествени числа, разделени с по един интервал. Тези числа са по-малки от 1000 и представляват, съответно, числителя и знаменателя на едната и на другата дроб. Въвежданите дроби не са непременно правилни, нито пък несъкратими.
Програмата трябва да изведе на стандартния изход сбора на двете дроби.
Ако сборът е цяло число, се извежда само това число. Ако сборът е число по-малко от 1, се извеждат числителят и знаменателят на резултата, разделени с интервал. Ако сборът е число, по-голямо от 1, се извеждат три числа, разделени с интервали, които са цялата част, следвана от числителя на дробната част и накрая знаменателя на дробната част. Задължително дробната част на резултата трябва да бъде несъкратима дроб.
ПРИМЕР 1 ПРИМЕР 2 ПРИМЕР 3
Вход Вход Вход
7 3 2 3 2 3 3 36 3 4 4 7
Изход Изход Изход
3 3 4 1 9 28