Venho quebrando a cabeça a alguns dias para fazer um algoritmo que tem varias condições em cascata e dependendo do resultado de uma condição, poderá modificar o resultado da condição passada. Alguem tem alguma ideia para o problema abaixo?
Possuo uma lista com 10mil objetos musica. Esses objeto tem as seguintes propriedades básicas:
- nome:String
- duracao:long; //milesegundos da duração
- nacional:Boolean (indica se é nacional ou internacional)
- artista:Artista
- genero:Genero
O que tenho que fazer é fazer uma seleção de musicas para preencher 1 hora onde 70% seja nacional e 30% seja internacional. Porem um artista so pode se repetir a cada 30 minutos e uma musica a cada 60 minutos e ainda tem de ser observado uma lista de generos possíveis. Exemplo; Jazz = 30% da lista, Rock = 40% da lista, 30% dos demais generos.
Caramba, eu começo a fazer a organização de 70% e 30% de nacional e internacionais, dai os artistas começão a se repetir. Ai eu tiro os artistas repetidos mas os percentuais não se chocam mais. Pior que depois ainda tem de observar os generos. Fica um completo angu-de-caroço.
Qual a melhor maneira para se fazer esses testes condicioanis consecutivos? Existe alguma tecnica avançada para isso?
Obrigado, Eliezer
Dai, todas as variáveis serão incluídas em uma proxima iteração.