Module: (C++) Loops aninhados


Problem

7 /8


*Mástique

Problem

A loja vende mástique em caixas de a kg (tipo 1), b kg (tipo 2) e c kg (tipo 3) ) ). Como comprar exatamente N kg de mástique sem abrir as caixas? De quantas maneiras isso pode ser feito?
 

Entrada 
A string de entrada contém quatro números separados por espaços: a , b , c e N .

Impressão 
Na primeira linha, você precisa imprimir o número K de maneiras pelas quais você pode comprar uma determinada quantidade de mástique (N kg) sem abrir as caixas. Em cada uma das seguintes K linhas, o programa deve imprimir (separados por espaços) três números, ka , kb e kc< /code> : o número de caixas de 1, 2 e 3 tipos para cada uma das opções de compra K. As variantes devem ser geradas em ordem lexicográfica: Variantes com o menor valor ka primeiro, para ka – primeiro as variantes com o menor valor kb, etc.

 

Exemplos
# Entrada Saída
1 15 17 21 185 5
0 1 8
1 10 0
3 7 1
5 4 2
7 1 3