Pesquisar este blog

Livros Recomendados

terça-feira, 1 de dezembro de 2020

URI (BEECROWD) - 1847 - Bem-vindos e Bem-vindas ao Inverno! - Iniciante - C e C++

O problema intitulado Bem-vindos e Bem-vindas ao Inverno! também foi resolvido pelo codificandoonline! Segue a resposta para vocês!!!

Plataforma: URI (BEECROWD)

Problema1847

Enunciado:

Bem-vindos e bem-vindas à Escola de Inverno da Maratona de Programação 2015 de Erechim! Esperamos sinceramente que vocês aprendam muito nestes dias para que tenham muito sucesso nas competições de Programação ainda por vir, mas sobretudo esperamos que vocês curtam a Escola, pois quando nos divertimos e temos prazer em estudar e programar, o treino deixa de ser um fardo e se torna um hobby. Então, divirtam-se!

O inverno é uma estação maravilhosa, não é mesmo? Todos nós amamos vestir um poncho, participar de uma roda de chimarrão, assar pinhões no fogão a lenha… Mas nem todos gostam do inverno, especialmente em lugares onde o inverno costuma ser muito cruel. Em Westeros, por exemplo, o humor das pessoas é definido de acordo com as tendências climáticas. Com base nas temperaturas dos três últimos dias, as pessoas podem ficar tristes ou felizes, ficando mais propensas a fazer guerra ou fazer amor, respectivamente. E, sejamos sinceros, é justamente por causa das cenas de amor e de guerra que amamos Game of Thrones!

  • Se a temperatura desceu do 1º para o 2º dia, mas subiu ou permaneceu constante do 2º para o 3º, as pessoas ficam felizes (primeira figura).
  • Se a temperatura subiu do 1º para o 2º dia, mas desceu ou permaneceu constante do 2º para o 3º, as pessoas ficam tristes (segunda figura).
  • Se a temperatura subiu do 1º para o 2º dia e do 2º para o 3º, mas subiu do 2º para o 3º menos do que subira do 1º para o 2º, as pessoas ficam tristes (terceira figura).
  • Se a temperatura subiu do 1º para o 2º dia e do 2º para o 3º, mas subiu do 2º para o 3º no mínimo o tanto que subira do 1º para o 2º, as pessoas ficam felizes (quarta figura).
  • Se a temperatura desceu do 1º para o 2º dia e do 2º para o 3º, mas desceu do 2º para o 3º menos do que descera do 1º para o 2º, as pessoas ficam felizes (quinta figura).
  • Se a temperatura desceu do 1º para o 2º dia e do 2º para o 3º, mas desceu do 2º para o 3º no mínimo o tanto que descera do 1º para o 2º, as pessoas ficam tristes (sexta figura).
  • Se a temperatura permaneceu constante do 1º para o 2º dia, as pessoas ficam felizes se subiu do 2º para o 3º dia ou tristes caso contrário (respectivamente, sétima e oitava figuras).

Linguagem: C++

Solução:

Código em C:

Basta ler os três valores e testar as condições para ":)" ou ":(". Aqui utilizei expressões lógicas com o uso do operador OU, para que, caso uma delas seja verdadeira, possamos imprimir o valor ":)". Caso contrário imprimirá ":(".

#include <stdio.h>
int main() {
	int a, b, c;
	scanf("%i %i %i", &a, &b, &c);
	if ((a == b && c > b) || (b < a && b-a < c-b) || (b > a && c-b >= b-a))
		printf(":)\n");
	else
		printf(":(\n");
	return 0;
}

Código em C++:

Mesma lógica aplicada em relação ao código em C.

#include <iostream>
using namespace std;
int main() {
	int a, b, c;
	cin >> a >> b >> c;
	if ((a == b && c > b) || (b < a && b-a < c-b) || (b > a && c-b >= b-a))
		cout << ":)" << endl;
	else
		cout << ":(" << endl;
	return 0;
}

Solução alternativa em C++:

Aqui cada teste foi feito separadamente (sem o operador OU) com diversos ifs. Se você preferir, pode fazer dessa forma.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
using namespace std;
 
int main() {
	int t1,t2,t3;
	cin >> t1 >> t2 >> t3;
	if(t2<t1){
		if(t3>=t2) cout << ":)";
		else{
			if(t2-t3<t1-t2){
				cout << ":)";
			}
			else{
				cout << ":(";
			}
		}
	}
	if(t2>t1){
		if(t3<=t2) cout << ":(";
		else{
			if(t3-t2<t2-t1){
 				cout << ":(";
			} else{
				cout << ":)";
			}
		}
	}
	if(t1==t2){
		if(t3>t2){
			cout << ":)";
		}
		else{
			cout << ":(";
		}
	}
	cout << endl;

    return 0;
}

Nenhum comentário:

Postar um comentário

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas