AtCoder Beginner Contest 158
Problema A - Station and Bus
Descrição
Há N estações em uma linha, numeradas de 1 a N. Para cada par de estações adjacentes, há um ônibus que viaja entre elas. Dada uma string S de comprimento N-1, onde Si é 'A' se houver um ônibus entre as estações i e i+1, e 'B' caso contrário, determine se é possível viajar entre duas estações diferentes.
Solução
#include <stdio.h>
int main() {
char palavra[3];
scanf("%s", palavra);
if(palavra[0] == 'A' && palavra[1] == 'B' || palavra[1] == 'B' && palavra[2] == 'A' || palavra[0] == 'B' && palavra[2] == 'A' || palavra[0] == 'B'&& palavra[1] == 'A' || palavra[1] == 'A' && palavra[2] == 'B') {
printf("Yes\n");
}
else {
printf("No\n");
}
return 0;
}
Problema B - Count Balls
Descrição
Você tem N bolas e quer colori-las em azul e vermelho. Você repete o seguinte processo: primeiro, colore A bolas consecutivas em azul, depois colore B bolas consecutivas em vermelho. Determine quantas bolas azuis haverá quando você terminar de colorir todas as N bolas.
Solução
#include <stdio.h>
int main() {
long long n, a, b;
scanf("%lld%lld%lld", &n, &a, &b);
long long total = 0, resposta = 0;
long long ciclosCompletos = n / (a+b);
resposta = ciclosCompletos * a;
long long sobra = n % (a+b);
if (sobra <= a)
resposta += sobra;
else
resposta += a;
printf("%lld\n", resposta);
return 0;
}