25.5.2018 zápočtový test Holan

awk at 2018-05-31 15:38:21

Zadání:
Máte zadanou sumu (celé číslo) a typy mincí (maximálně 20 typů mincí). Vypište všechny možnosti zaplacení sumy v pořadí od nejvyšších po nejnížší mince.

Vstup čtěte ze standardního vstupu a výsledky pište na standardní výstup.

Formát vstupu je následující:

    1. řádek obsahuje počet typů mincí (celé číslo mezi 1 a 20).

    1. řádek obsahuje konkrétní typy mincí v klesajícím pořadí (posloupnost různých kladných čísel).

    1. řádek obsahuje sumu (nezáporné celé číslo).

Výsledek vypisujte v takovémto formátu:

  • každý způsob zaplacení vypište na nový řádek

  • čísla na řádku vypište v pořadí od největšího po nejmenší oddělené mezerou

  • řádky vypisujte v pořadí od největšího k nejmenšímu

  • můžete předpokládat, že výsledný řádek má délku max. 256 znaků (vejde se do pascalského stringu)

Příklad vstupu:

3
5 2 1
9

Odpovídající výstup:

5 2 2
5 2 1 1
5 1 1 1 1
2 2 2 2 1
2 2 2 1 1 1
2 2 1 1 1 1 1
2 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1