Algorithm
Problem Name: 2 AD-HOC - beecrowd | 2382
Problem Link: https://www.beecrowd.com.br/judge/en/problems/view/2382
Sedex Marciano
Por OBI - Olimpíada Brasileira de Informática 2010 Brazil
Timelimit: 5
Estamos no ano 2048 e um dos sonhos da humanidade torna-se finalmente realidade: a colonização do planeta Marte. Nossos primeiros colonizadores acabam de chegar, e já começam a fazer as preparações (como a instalação de cúpulas de oxigênio e tratamento do solo para agricultura) para que mais pessoas possam tentar uma nova vida no planeta vizinho.
Apesar dos avanços tecnológicos e desafios vencidos, ainda resta um grande problema: os foguetes usados para ir a Marte ainda são complicados e caros. Com isso, fica difícil enviar suprimentos para os nossos colonos (enquanto a agricultura ainda não é possível) por muito tempo. Assim, a agência espacial contratou o SBC (Serviço Balístico Cósmico), que desenvolveu um canhão super-potente que consegue disparar esferas até Marte, sem precisar gastar milhões de dólares em equipamento e combustível.
Agora, tudo o que é necessário fazer para enviar suprimentos a Marte é colocar uma caixa com as encomendas dentro de uma esfera e disparar a mesma até seu destino.
Dadas as dimensões de uma caixa com suprimentos e o raio interno da esfera que é disparada pelo canhão, seu programa deverá dizer se é possível enviar tal caixa para Marte usando tal esfera.
Entrada
Cada entrada contém apenas uma linha com quatro inteiros L, A, P e R, (0 ≤ L, A, P, R ≤ 1000) que representam, respectivamente, a largura, altura e profundidade da caixa, e o raio da esfera.
Saída
Seu programa deve imprimir um único caractere: 'S' (sem aspas) se é possível colocar a caixa dentro da esfera, ou 'N' (sem aspas) caso contrário.
Exemplos de Entrada | Exemplos de Saída |
10 20 30 30 |
S |
Code Examples
#1 Code Example with C Programming
Code -
C Programming
#include <stdio.h>
#include <math.h>
int main (void)
{
unsigned short largura, altura, profundidade, raio;
double diagonal;
scanf("%hu %hu %hu %hu", &largura, &altura, &profundidade, &raio);
raio = raio + raio;
diagonal = sqrt((largura*largura) + (altura * altura) + (profundidade * profundidade));
if (diagonal < = raio)
printf("S\n");
else
printf("N\n");
}
Copy The Code &
Try With Live Editor
Input
Output
#2 Code Example with C++ Programming
Code -
C++ Programming
#include <cstdio>
int main() {
int a, b, c, d;
scanf("%d %d %d %d", &a, &b, &c, &d);
d *= 2;
printf("%c\n", a * a + b * b + c * c < = d * d ? 'S' : 'N');
return 0;
}
Copy The Code &
Try With Live Editor
Input
Output