• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

edumad

[Ajuda] Problema de distribuição de trabalhos (Resolvido)

3 mensagens neste tópico

Isto anda a dar-me cabo da cabeça:

1 turma de laboratório tem G grupos de trabalho e E experiências para fazer em N dias, (G<=E)

Em cada dia não pode haver 2 grupos a fazer a mesma experiência, nem podem ser feitas 2 experiências pelo mesmo grupo.

Em pseudo código qual é a solução para distribuir as experiencias pelos grupos?

PS: é um caso bem real... ainda tem mais umas complicações, mas essas acho k resolvo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não me safo com pseudo-codigo, por isso fica aí uma espécie de codigo em que experiencia[][] é a experiencia que cada grupo faz em cada dia. partindo do principio que tens as experiencias, os dias e os grupos numerados de 0 E-1, N-1 e G-1 respectivamente.

int experiencia[G][N];

for(dia=0;dia<N;dia++)
{
   for(grupo=0;grupo<G;grupo++)
     {
       experiencia[grupo][dia] = (grupo+dia)%E;
      }
}

A ideia é:

No primeiro dia cada grupo faz a experiencia que tem o numero igual ao numero do grupo.

No dia seguinte, cada grupo faz a experiencia com o numero a seguir e por aí fora

Se o numero de dias + o numero do grupo for maior que o numero de experiencias, volta à experiencia 0, depois 1, 2, 3 etc...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom, penso que isso resolve o problema, entretanto também consegui resolver, mas saiu bem mais complicada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora