Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
To precisando de ajuda pra resolver um problema em C, é mais ou menos assim;
Suponha que eu tenha um [barco](http://forum.clubedohardware.com.br/#) e queira navegar através de um rio de largura L, e o meu barco tem largura "Lb" , para que ele navegue a profundidade do rio deve ser no minímo H+1,onde H é o calado do navio.
Eu recebo como entrada L-1 valores de profundidade do rio da margem esquerda para á direita, ou seja se o rio tem 5 metros de largura, eu recebo um vetor com 4 valores, os quais representam a profundidade do rio a cada 1 metro.
Como eu faço para descobrir o primeiro ponto a partir da margem esquerda em que o barco pode navegar?
A largura Lb e o calado H do barco são dados como entrada também.
Obs: para calcular a profundidade entre um metro e outro , tem uma fórmula que é dada.
A questão é que não estou conseguindo pensar em um modo efetivo para resolver.
/applications/core/interface/imageproxy/imageproxy.php?img=http://forum.clubedohardware.com.br/images/statusicon/user_online.gif&key=338a24418d2af9387f3a7c5715e57da22f367f5310e3ecf853a115a3353547aa" title="Rhyu está online" alt="user_online.gif" />[/applications/core/interface/imageproxy/imageproxy.php?img=http://forum.clubedohardware.com.br/images/buttons/report.gif&key=7248a9056ef849f00f5aaeeef321cbeb4ada0a602808906e73507c5557e4bc14" title="Denunciar Mensagem" alt="report.gif" />](http://forum.clubedohardware.com.br/report.php?p=6052495)Só faltou sua pergunta.
:)
Enunciado completo pra ficar mais claro
Sabendo que a largura em metros de um rio navegável é dada por um valor inteiro L. Os técnicos em navegação fizeram um perfil do leito do rio medindo sua profundidade a cada metro, a partir da margem esquerda. Assim, por exemplo, no i-ésimo metro, a profundidade do rio é dada por um valor inteiro não negativo P(i), sendo que nas margens esquerda e direita as profundidades são P(0) e P(L), respectivamente, ambas com valor nulo (ou seja, P(0) = P(L) = 0).
As seguintes hipóteses são consideradas neste exercício:
O perfil do leito do rio não muda ao longo do trecho navegável, e
entre duas medidas consecutivas de profundidade P(i) e P(i+1), pode-se considerar que a profundidade varia linearmente entre estes dois valores. Assim, se K é um valor real no intervalo [0,1], o valor da profundidade no metro (i+K) considerado a partir da margem esquerda, será dado por P(i) + K*(P(i+1)-P(i)).
No seu dia a dia, os técnicos se deparam com o seguinte problema. Um navio de largura W e calado (profundidade máxima a partir da superfície) C pretende navegar pelo rio. Os técnicos precisam determinar se existe uma distância segura de navegação, a contar da margem esquerda, que permite que o navio navegue pelo rio. A resposta dada pelo técnicos ao capitão do navio é um valor real (double) X tal que:
X é igual a -1.000000 se o navio não pode navegar pelo rio (nota: supõe-se aqui que o calado do navio é o mesmo ao longo de toda a sua largura), e
X é o menor valor positivo (distância da margem esquerda) que o navio pode navegar com segurança. Isso ocorre se, no trecho que vai de [X, X+W] a profundidade do rio é sempre maior ou igual a C + 0.1.
Entrada: duas linhas com valores inteiros separados por um espaço em branco entre eles. Na primeira linha são dados L, no intervalo (fechado) [2, 50], W e C, no intervalo (fechado) [1, 25]. Na segunda linha, são dados L-1 valores correspondentes às profundidades a 1, 2, ..., L-1 metros da margem esquerda (lembre-se que as profundidades nas duas margens são nulas).
Saída: um valor double, impresso com seis casas decimais, correspondendo à posição X mais à esquerda na qual o navio pode navegar ou ao valor -1.000000, quando o calado do navio não permite que ele navegue pelo rio.