edumad Posted January 12, 2006 at 04:27 PM Report #11545 Posted January 12, 2006 at 04:27 PM 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.
Solution Saco Posted January 12, 2006 at 05:39 PM Solution Report #11553 Posted January 12, 2006 at 05:39 PM 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...
edumad Posted January 12, 2006 at 05:58 PM Author Report #11555 Posted January 12, 2006 at 05:58 PM Bom, penso que isso resolve o problema, entretanto também consegui resolver, mas saiu bem mais complicada.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now