segunda-feira, 3 de setembro de 2012

Resolução - Questão Guarda Costeira - 2011

Esta é uma questão da primeira fase da maratona de programação de 2011, consiste basicamente em calcular se o barco do fugitivo irá cruzar a linha de limite primeiro. A imagem a Seguir exemplifica melhor:



Assim, poderemos calcular o tempo Tg = S/Vg e Tf = 12/Vf (Tg: tempo que o barco da guarda costeira leva para chegar ao limite, Tf: tempo que o barco do fugitivo leva para chegar ao limine), após feita esta análise podemos constatar que, se o Tg for menor ou igual a Tf o fugitivo será preso, senão estará livre. Visto isso podemos aplicar ao código em C.

#include<stdio.h>
#include<math.h>

int main () {
    int D, Vf, Vg;
    while (scanf ("%d %d %d", &D, &Vf, &Vg)>0) {
         float S, Tg, Tf;
         S = sqrt (pow(D, 2) + 144);
         Tg = S/Vg;
         Tf = 12.0/Vf;
         if (Tg <= Tf) printf("S\n");
         else printf ("N\n");
    }
    return 0;
}

SITE: http://br.spoj.com/problems/GUARDCOS/
Se isto lhe foi útil não esqueça de agradecer!


Nenhum comentário:

Postar um comentário