Prihlásenie Registrácia  

M - MDD

Časový limit: 2s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3

Počet bodov: 1

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Blíži sa Medzinárodný deň detí, kedy deti dostávajú rôzne sladkosti. Pani učiteľka sa rozhodla, že deťom vo svojej triede rozdá cukríky, ktoré jej ostali z Veľkej noci. Má ich v rôznych farbách, tak sa rozhodla že každému dá rôznofarebné cukríky. Každé dieťa musí dostať rovnaký počet cukríkov, inak by to bol nespravodlivé.

Jej obľúbené číslo je sedem, tak by chcela dať každému dieťaťu sedem cukríkov, ale nevie či ich bude mať dosť, aby každý dostal cukríky sedmich farieb. Pomôžete je to zistiť?

Úloha

Daný je počet detí N, počet cukríkov, ktoré má každé dieťa dostať C, počet farieb cukríkov F a počty cukríkov jednotlivých farieb. Úlohou je zistiť, či je možné tieto cukríky rozdeliť medzi deti tak, aby žiadne z nich nemalo dva cukríky rovnakej farby a ak áno, tak nájsť lexikograficky najmenšie riešenie.

Vstup

Prvý riadok vstupu obsahuje tri medzerou oddelené celé čísla N, C a F (1≤N≤2000, 0≤C≤2000, 0≤F≤2000). Farby sú pre jednoduchosť očíslované číslami 1,2,...,F (pre potreby výstupu). Ďalší riadok obsahuje F medzerou oddelených celých kladných čísel nepresahujúcich 2000, pričom i-te z nich popisuje počet cukríkov farby i.

Výstup

Ak sa cukríky medzi deti nedajú rozdeliť (prípadne ich je málo), výstup by mal obsahovať jediný riadok s textom "Neda sa" (bez úvodzoviek).

V opačnom prípade by mal výstup obsahovať N riadkov. Na i-tom z nich by malo byť C medzerou oddelených čísel, reprezentujúcich farby cukríkov i-teho dieťaťa. Ak existuje viac riešení, výstup by mal obsahovať to, ktoré má najmenšie prvé číslo. Ak ešte stále existuje viac riešení, tak to, ktoré má najmenšie druhé číslo. ... to, ktoré má najmenšie C-te číslo. Takto je výstup jednoznačne určený.

Príklad

Vstup

4 3 5
2 5 1 2 10

Výstup

1 2 3
1 2 5
2 4 5
2 4 5

Príklad

Vstup

2 2 1
4

Výstup

Neda sa