Skip to main content

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;
}