09/04/2009
Vitor Pamplona
Oi,
acho que resolvi...
A matematica:
Uma pesagem tem 3 possibilidades: igual, esquerda pesa mais ou direita
pesa mais. Tres pesagens com 3 possibilidades -> 3^3 = 27 possibilidades
Problema: 1 de 12 com mais peso ou 1 de 12 com menos peso -> 24 possibilidades
logo o problema provavelmente pode ser solucionado.... :!:
OK, chega de matematica (nem sei como continuar por esse caminho)
mas se analisando o problema de tras pra frente achei um caminho,
um pouco dificil de descrever:
Dei nome pras bolinhas: A, B, C, ... L
• 0: Pesagem 1: EFGH x IJKL
• 1=: se forem iguais, a procurada esta entre ABCD (EFGHIJKL tem peso padrao)
Pesagem 2: ABC x EFG
• 2=: se igual, a procurada sera a D, falta o saber o peso
Pesagem 3: D x E
• 3=: D nao pode ser igual a E, por causa do resultado anterior(2=), throw new BalançaException("Todas iguais");
• 3>: se D pesar mais, resposta: >> D pesa mais << que as outras
• 3<: se D pesar menos, resposta: >> D pesa menos << que as outras
• 2>: ABC pesa mais que EFG, e devido a (1) segue que A ou B ou C pesa mais que o padrao
Pesagem 3: A x C
• 3=: iguias, so pode ser a B e o passo anterior (2>) obtivemos que ABC pesa mais, resposta: >> B pesa mais <<
• 3>: A mais que C, e (2>) A ou B ou C pesam mais, resposta: >> A pesa mais <<
• 3<: A pesa menos que C, e como (2>) A ou B ou C pesa mais a resposta é: >> C pesa mais <<
• 2<: ABC pesa menos que EFG, e devido a (1) segue que A ou B ou C pesa menos que o padrao
Pesagem 3: A x C
• 3=: iguias, so pode ser a B e o passo anterior (2<) obtivemos que ABC pesa menos, resposta: >> B pesa menos <<
• 3>: A mais que C, e (2<) A ou B ou C pesam menos, resposta: >> C pesa menos <<
• 3<: A pesa menos que C, e como (2<) A ou B ou C pesa menos a resposta é: >> A pesa menos <<
• 1>: EFGH mais que IJKL, uma de EFGH pesa mais ou uma de IJKL pesa menos (e ABCD tem peso padrao)
Pesagem 2: EFIJ x GKAB (AB sabemos que tem o peso padrao)
• 2=: peso igual, entao a diferente sera H ou L
Pesagem 3: H x A
• 3=: H igual A, A tem peso padrao (1<) e como uma de IJKL pesa menos(1>), resposta: >> L pesa menos <<
• 3>: H pesa mais que A, que por sua vez tem peso padrao, logo: >> H pesa mais <<
• 3<: H menos que A com peso padrao e uma de EFGH pesa mais -> BalançaException
• 2>: EFIJ mais que GKAB, e de (1>) uma de EFGH ou uma de IJKL menos (AB padrao), segue ou uma de EF pesa mais ou a K pesa menos
Pesagem 3: EK x AB
• 3=: EK igual a AB, e (2>) EF mais ou K menos (e AB padrao), logo: >> F pesa mais <<
• 3>: EK mais que AB, e (2>) EF mais ou K menos, resulta: >> E pesa mais <<
• 3<: EK menos que AB, e(2>) EF mais ou K menos -> >> K pesa menos <<
• 2<: EFIJ menos que GKAB, e de (1>) uma de EFGH ou uma de IJKL menos (AB padrao), segue ou uma de IJ pesa menos ou a G pesa mais
Pesagem 3: IG x AB
• 3=: IG igual a AB, e (2>) IJ menos ou G mais (e AB padrao), logo: >> J pesa menos <<
• 3>: IG mais que AB, e (2>) IJ menos ou G mais , resulta: >> G pesa mais <<
• 3<: IG menos que AB, e(2>) IJ menos ou G mais -> >> I pesa menos <<
• 1<: simetrico ao caso 1> (trocando EFGH por IJKL)
...
Espero que de pra entender... fiz um diagrama que talvez ajude: [url="http://simu.wikidot.com/local--files/java:java/bolinhas.pdf"][u]bolinhas.pdf[/u][/url]
Agora só falta o programa....
[]]]
09/04/2009
Vitor Pamplona
PS: e as tres BalançaException que pode dar correspondem á diferença
que obtive matematicamente 27 - 24:[quote="autor mesmo"]Uma pesagem tem 3 possibilidades: igual, esquerda pesa mais ou direita
pesa mais. Tres pesagens com 3 possibilidades -> 3^3 = 27 possibilidades
Problema: 1 de 12 com mais peso ou 1 de 12 com menos peso -> 24 possibilidades
31/10/2010
Vitor Pamplona
Voce, no item 2.1 descartou 6 bolas(pesos iguais) e nas restantes restantes ficou sem saber quem era leve ou pesada . Continuou o problema como
se a primeira pesada fosse pessos diferentes. Falta algo ai.
eis minha solução:
PROBLEMA DAS DOZE BOLAS OU DOZE MOEDAS.
Elaborado por : Zancopé – pecerzan@hotmail.com
ENUNCIADO
Existem 12 (doze) bolas (moedas), todas idênticas, exceto pelo peso de uma delas, não se sabe se mais leve ou mais pesada. Descobrir qual bola é a diferente e se ela é mais leva ou mais pesada, utilizando uma balança de dois pratos, sem graduação e que permite somente saber se os pesos estão equilibrados ou se o prato mais pesado desceu e o mais leve subiu.
SOLUÇÃO
DEFINIÇÕES:
N – ou bolas normais são aquelas que têm pesos iguais.
L - ou bolas leves é o grupo de bolas que tem probabilidade de serem normais e nesse grupo estará a bola leve, se a resposta for “bola leve”.
P - ou bolas pesadas é o grupo de bolas que tem probabilidade de serem normais e nesse grupo estará a bola pesada, se a resposta for “bola pesada”.
Prato 1 – é o prato da balança à esquerda.
Prato 2 – é o prato da balança à direita.
Preparativos:
Numero as bolas de 1 a 12.
Formo os grupos de bolas G1 (1, 3, 5, 7, 9); G2 (2, 4, 6, 8, 10); G3 (11, 12).
PRIMEIRA PESAGEM.
Coloco G1 no Prato 1 e G2 no Prato 2.
1 – Se G1 = G2
________________________________________
• As bolas dos pratos possuem o mesmo peso, portanto todas são normais.
• A solução estará no grupo G3
1.1 - Peso bola 11 com uma N. (2a pesagem)
Se 11 ≠ N bola 11 é a diferente e mais leve ou mais pesada que N
Se 11= N bola 12 será a diferente
1.2 - Peso bola N com 12 (3 a pesagem)
Verifico se é mais leve ou mais pesada que N
________________________________________
2 – Se G1 ≠ G2
________________________________________
• Bolas 11 e 12 são normais.
Admito que
• No prato 1, G1 é o grupo de bolas leve ou seja bolas 1, 3, 5, 7, 9 são bolas leves.
• No prato 2, G2 é o grupo de bolas pesadas ou seja bolas 1, 4, 6, 8, 10 são bolas pesadas.
Formando novos grupos:
Formo grupo G3 (7, 9, 10)--- Observar que 7(L); 9(L); 10(P).
Formo grupo G4 (1, 2, 3, 4) ---- Observar que 1 e 3 são leves e estavam no prato 1 e 2 e 4 são pesadas e estavam no prato 2.
Formo grupo G5 ( 5, 6, 8, 11) ---Observar que bola 5 é leve e estava no prato1, enquanto as bolas 6 e 8 são pesadas e estavam no prato 2 e bola 11 é normal.
SEGUNDA PESAGEM
• Coloco G4 no prato 1 e G5 no prato 2
Se G4 = G5
________________________________________
• As bolas 1, 2, 3, 4,5 6, 8, são normais.
• A resposta estará no grupo G 3.
a) Peso as “bolas leves” 7 e 9 (terceira pesagem)
Aquela que fizer o prato subir será a diferente e leve.
b) Se 7 e 9 tiverem o mesmo peso a que sobra 10 será a diferente e pesada.
________________________________________
Se G4 ≠ G5
________________________________________
Bolas 7, 9, 10, 11, 12 são normais
a) Se prato 1 sobe (mesma posição da primeira pesagem) G4 G5
G4 (1, 2, 3, 4) G5 (5, 6, 8, 11).
A inversão não afetou o resultado, logo
Bolas 2; 4 (pesadas) e bola 5 (leve) não afetaram o resultado sendo portanto normais.
A resposta estará entre as bolas 1,3 (leves)e 6,8 (pesadas), uma vez que a 11 é normal.
TERCEIRA PESAGEM
Faço novos grupos:
G6 (8) G7 (1, 6) G 8 (3, 11)
Peso G7 (prato 1) com G8 (prato 2)
Se G7 = G8
________________________________________
Então bolas 1, 6, 3 serão normais e
A solução estará no G6
Logo
A resposta será bola 8, pesada
________________________________________
Se G7 ≠ G8
________________________________________
G7 BOLA 1 - LEVE E BOLA 6 – PESADA
G8 BOLA 3 – LEVE
G6 BOLA 8 - PESADA
HIPOTESE BOLA TIPO OBSERVAÇÃO
PRATO 1 SOBE 1 LEVE 6, 3 NORMAIS
PRATO 1 DESCE 6 PESADA 1, 3 NORMAIS
PRATO 2 SOBE 3 LEVE 1, 6 NORMAIS
PRATOs NIVELADOS 8 PESADA 1, 2, 3 NORMAIS
[quote="vfpamp"]hohohohoh :D
Logica... adoro isso
1 - Separe em 4 montes de 3 bolinhas.
2 - Pese os primeiros 2 montes. [b] 1º vez [/b]
2.1 - Se o peso for igual descarta essas 6 bolinhas, pois a diferente não está entre elas
2.2 - Se o peso for diferente descarta as outras 6 bolinhas.
3 - Das 6 bolinhas que restaram, pegue 1 da parte leve e uma da parte pesada construindo o grupo 1 e 1 da parte leve e 1 da parte pesada para o grupo dois. Pese essas 4 bolinas de acordo com os grupos [b] 2º vez [/b]
3.1 - Se o peso for igual jogue-as fora. Pois a bolinha diferente está entre as outras duas.
3.1.1 - Sobraram duas bolinhas. Pegue uma delas e compare com alguma daquelas que você jogou fora [b]3º vez[/b]. Se o peso for diferente você tem a bolinha diferente na balança (Essa que você pegou). e a outra é igual a todas as outras. Se o peso for igual a outra bolinha é a bolinha diferente.
3.2 - Se o peso for diferente jogue as outras duas fora.
Com o peso diferente vc pode analisar com a 1 pesagem.
Por exemplo
L=Leve
P=Pesada
Na última pesagem:
LP | LP
G1 | G2
Se o G1 for mais leve, quer dizer que a P do G1 e a L do G2 não estão influenciando.
Se o G2 for mais leve, quer dizer que a P do G2 e a L do G1 não estão influenciando.
Portanto jogue essas que não estão influenciando fora. Sobram duas bolinhas.
Pegue uma dessas duas e pese [b]3º vez[/b] com uma bolinha normal. Se for diferente você achou a bolina, caso contrário é a última que sobrou.
[b]Foda explicar esse algorítmo[/b]
ROOOOOOOX!!!!
01/11/2010
Vitor Pamplona
[quote="cerzan"]
Voce, no item 2.1 descartou 6 bolas(pesos iguais) e nas restantes restantes ficou sem saber quem era leve ou pesada . Continuou o problema como
se a primeira pesada fosse pessos diferentes. Falta algo ai.
.
.
.
acho que não faltou nada [b]nesse trecho[/b]:
depois do item 2.1 é para continuar com o item 3... (o mesmo para o item 2.2)
[i]mas não analisei ou testei para ver se está funcionando. Me parece que tem um erro no 3.1.1, - "...Se o peso for igual a outra bolinha é a bolinha diferente...." - faltou determinar se a outra é mais pesada ou mais leve.[/i]
[[]]