[EP1] Problema na especificação

[EP1] Problema na especificação

por Edilson Jacob -
Número de respostas: 2

Boa tarde!

De acordo com a especificação do EP1:

  • S = p0+p1+...+pn
  • 0 <= s <= S-1
  • A função sorteia deve retornar o menor inteiro n (0 <= n <= N-1) tal que s < p0+p1+...+pn

No entanto, existe a possibilidade de todas as probabilidades sorteadas serem iguais a zero. Neste caso, ocorre um problema a nível teórico:

p0 = p1 = ... = pn = S = 0 => S-1 < 0

E outro a nível de implementação:

S = 0 => randint(0,-1) -> ValueError: empty range for randrange() (0,0, 0)

Ou entendi algo errado?

Obrigado desde já!

Em resposta à Edilson Jacob

Re: [EP1] Problema na especificação

por Andrew Ijano Lopes -

Olá, Edilson. Boa tarde!

Ótima observação, quando todos os pesos são 0 ocorrem vários problemas nesse exercício.

Como não foi explicitado no enunciado o que fazer nesse caso e o executável disponibilizado também não trata isso, seu programa pode funcionar apenas para um dist > 0 .

Ou seja, não precisa tratar do caso quando todos os pesos são 0.

Abraços,

Andrew.