[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[obm-l] Re: [obm-l] Desafio: ladrilhar um triângulo
On Thu, Jun 26, 2003 at 05:29:33PM -0300, Anderson Sales Pereira wrote:
> Boa tarde pessoal tudo bem?
>
> Agradeceria se alguém pudesse corrigir este problema para mim, pois não
> tenho certeza quanto 'a minha resolução:
>
> 2. Um museu tem um terreno de exposição na forma de um triângulo
> retângulo de catetos 50m e 60m. A direção do museu decidiu ladrilhar
> a área. Cada ladrilho é um quadrado de 10 cm de lado. Os ladrilhos
> são feitos de um material que pode ser cortado apenas 1 vez, devido
> ao risco de rachaduras. Além disso, apenas uma das partes do
> ladrilho cortado pode ser aproveitada. Responda:
> a) Qual o número exato de ladrilhos que será empregado na obra?
>
> O número exato de ladrilhos utilizado é igual 'a area do triangulo dividida
> pela 'area de cada ladrilho. Transformando os valores para centimetros temos:
>
> Área Terreno = (6000 x 5000) / 2 = 15 000 000 cm^2
> Área Ladrilho = 10 x 10 = 100 cm^2
> n Ladrilhos = 15 000 000 / 100 = 150 000 ladrilhos
Não, isto não está certo. Você está implicitamente supondo que os ladrilhos
podem ser recotados e remontados livremente quando o enunciado diz exatamente
o contrário.
Acho que devemos supor que os ladrilhos têm todos os lados paralelos
aos catetos do terreno (isso não foi dito no enunciado; uma solução
a meu ver mais correta incluiria estudar todas as inclinações possíveis
e ver qual a melhor). Assim, medindo tudo em decímetros, devemos
considerar o triângulo de vértices (0,0), (500,0) e (0,600) e ver
quantos quadrados da forma [a,a+1]x[b,b+1], onde a e b são inteiros,
tem alguma parte (que pode ser pequena ou o quadrado todo) no interior
do triângulo. Como para a, b >= 0, o canto inferior esquerdo é o que tem
mais chance de estar abaixo da hipotenusa devemos contar os pares de
inteiros (a,b) com
a >= 0, b >= 0, a/500 + b/600 < 1
que eu prefiro escrever como
a >= 0, b >= 0, b < 600 - 6a/5.
Para cada a, 0 <= a < 500, seja f(a) o número de inteiros b que satisfazem
b >= 0, b < 600 - 6a/5
A resposta é N = f(0) + f(1) + ... + f(499) = soma_{0 <= a < 500} f(a)
Temos f(a) = teto(600 - 6a/5), onde teto(x) = n sse n é inteiro e
n-1 < x <= n. Assim
N = teto(600) + teto(600 - 6/5) + teto(600 - 2*6/5) +
+ teto(600 - 3*6/5) + teto(600 - 4*6/5) +
+ teto(600 - 6) + teto(600 - 6 - 6/5) + teto(600 - 6 - 2*6/5) +
+ teto(600 - 6 - 3*6/5) + teto(600 - 6 - 4*6/5) + ...
... + teto(600 - 6*99) + teto(600 - 6*99 - 6/5) + teto(600 - 6*99 - 2*6/5) +
+ teto(600 - 6*99 - 3*6/5) + teto(600 - 6*99 - 4*6/5)
= 600*500 - 5*6*(0+1+2+...+99) +
+ 100*(teto(-6/5) + teto(-2*6/5) + teto(-3*6/5) + teto(-4*6/5))
Mas 0+1+2+...+99 = 99*50 = 4950 e
teto(-6/5) + teto(-2*6/5) + teto(-3*6/5) + teto(-4*6/5) = -1-2-3-4 = -10
donde
N = 300000 - 30*4950 - 100*10 = 150500
Ou seja, no quebra quebra há um desperdício de 500 ladrilhos.
O número de ladrilhos cortados é 1000: há exatamente dois ladrilhos
cortados por linha e há 500 linhas. Isto pode ser visto olhando a figura
ou com um argumento parecido com o que eu acabei de dar.
Note que se pudéssemos usar os dois pedaços do ladrilho a sua resposta
estaria correta: precisamos de 149500 ladrilhos inteiros e 1000 pedaços
que podem ser encaixados para formar 500 ladrilhos.
[]s, N.
ladrilho.png