A Federação de Corridas de Charrete (FCC) organiza todo ano a Subida Brigite Cardoso (SBC), disputada nas ladeiras de paralelepípedo de Ouro Preto. A corrida é uma das mais tradicionais do esporte, completando 100 anos em 2013. Para comemorar o centenário, a FCC pretende integrar dispositivos GPS às charretes, permitindo aos espectadores desfrutarem de dados de telemetria em tempo real.
No mesmo viés de inovação tecnológica, a FCC transmitirá a SBC via satélite para todo o planeta, e quer integrar a telemetria na transmissão, indicando qual seria o vencedor da corrida se as charretes mantivessem suas velocidades até o final da corrida; ela pediu que você escrevesse um programa que, dados as distâncias até a linha de chegada, as velocidades e os números das duas charretes que lideram a corrida, determina quem seria o vencedor da corrida (você pode supor que as charretes não cruzam a linha de chegada simultaneamente).
A entrada consiste de duas linhas; cada linha descreve uma das charretes que lidera a corrida. A descrição de uma charrete consiste de três inteiros N, D e V indicando, respectivamente, o número da charrete, a sua distância à linha de chegada em metros, e a sua velocidade, em quilômetros por hora. Os números das duas charretes são distintos.
Para a saída imprima uma única linha, contendo um único número inteiro, indicando o número da charrete que seria vencedora, conforme descrito acima.
Exemplos
|
|
Solucação em C/C++
#include <stdio.h>
int main1() {
int n1, n2, d, v, i;
double t1, t2;
scanf ("%d %d %d", &n1, &d, &v);
t1 = float(d) / v;
scanf ("%d %d %d", &n2, &d, &v);
t2 = float(d) / v;
if (t1 < t2) {
printf("%d\n", n1);
} else {
printf("%d\n", n2);
}
return 0;
}
Considerando uma alteração no problema, permitindo um número variável de competidores, onde o número de competidores é informado no início do programa. A solução em C/C++ é apresentada a seguir:
#include <stdio.h>
int main() {
int d, v, i, competidores;
scanf("%d", &competidores);
int n[competidores];
double t[competidores];
//calcula os tempos
for (int i=0; i < competidores; i++) {
scanf ("%d %d %d", &n[i], &d, &v);
t[i] = float(d) / v;
}
//encontra o menor tempo
double menor = t[0];
int posicao = 0;
for (int i=1; i < competidores; i++) {
if (t[i] < menor) {
menor = t[i];
posicao = i;
}
}
//mostra o vencedor
printf("%d\n", n[posicao]);
return 0;
}