Задача 4. Кино ваучер
Здравейте,
зациклих над тази задача, предполагам, че логиката ми куца, но така и не успявам да разбера защо и къде.
Judge ми дава 70/100, а иначе изходите ми излизат.
Задача 4. Кино ваучер
Любо е голям почитател на киното и редовно ходи на прожекции и участва в томболи, от които често печели ваучери за кино. Вашата задача е да напишете програма, която да изчислява колко покупки от киното може да си купи Любо със спечеленият ваучер. Ако името на покупката съдържа повече от 8 символа, то тя е билет за филм, а нейната цена представлява сумата на ASCII символите от първите ѝ два символа. Ако името на покупката съдържа 8 или по-малко символа, нейната цена е равна на стойността на първия ASCII символ в името. Любо въвежда името на покупките, които желае, докато не въведе "End" или не въведе покупка, чиято стойност е по-голяма от останалата сума на ваучера.
Вход
Първоначално се чете един ред:
- Стойността на ваучера – цяло число в интервала [1…100000]
След това до получаване на команда "End" или до изчерпването на ваучера, се чете по един ред:
- Покупката, която Любо е избрал – текст
Изход
Програмата приключва при въвеждане на команда "End" или при покупка чиято стойност е по-голяма от останалите пари от ваучера. На конзолата трябва да се напечатат три реда:
- "{брои закупени билети}"
- "{брой закупени други покупки}"
Примерен вход и изход
Вход |
Изход |
Обяснения |
300 Captain Marvel popcorn Pepsi |
1 1 |
Сумата на ваучера е 300 Дължината на името на първата покупка е 14 символа, 14 > 8 следователно е филм и цената се образува от първите два символа на текста: 'C'(67) и 'a'(97), цена: 67 + 97 = 164 <= 300, цената изпълнява условието да е по-ниска или равна от наличната сума и купуваме билета. Остават: 300 – 164 = 136 Дължината на името на втората покупка е 7 символа, 7 <= 8 следователно това е продукт, чиято цена се получава от първият символ 'p'(112), цена: 112 <= 136, цената е по-ниска или равна от наличната сума и купуваме продукта. Остават 136 – 112 = 24 Дължината на името на третата покупка е 5 символа, 5 <= 8 следователно това е продукт, чиято цена се получава от първият символ 'P'(80), цена: 80 > 24, цената е по-висока от останалата сума във ваучера, продукта не се купува и печатаме броя на покупките |
1500 Avengers: Endgame Bohemian Rhapsody Deadpool 2 End |
3 0 |
Сумата на ваучера е 1500 Дължината на името на първата покупка е 17 символа, 17 > 8 следователно е филм и цената се образува от първите два символа на текста: 'A'(65) и 'v'(118), цена: 65 + 118 = 183 <= 1500, цената е по-ниска или равна от наличната сума, следователно купуваме билета. Остават: 1500 – 183 = 1317 Дължината на името на втората покупка е 17 символа, 17 > 8 следователно е филм и цената се образува от първите два символа на текста: 'B'(66) и 'o'(111), цена: 66 + 111 = 177 <= 1317, цената е по-ниска или равна от наличната сума и купуваме билета. Остават: 1317 – 177 = 1140 Дължината на името на третата покупка е 10 символа, 10 > 8 следователно е филм и цената се образува от първите два символа на текста: 'D'(68) и 'e'(101), цена: 68 + 101 = 169 <= 1140, цената е по-ниска или равна от наличната сума и купуваме билета. Остават: 1140 – 169 = 971 Получаваме команда End и печатаме броя на покупките |
ясно, много благодаря отново