Este repositório contém a solução dos exercícios tutoriais de nivel iniciante da plataforma BeeCrowd.
O objetivo é exemplificar como a plataforma trata a entrada e saída de dados.
Plataforma que disponibiliza desafios de programação, com um Juiz(Avaliador) que lhe responde se a sua solução esta correta. Além de permitir a realização de torneiros e maratonas.
Nela você encontrará diversos problemas com vários níveis de dificuldade e dos amis diversos assuntos.
Muitas empresas utilizam, em suas entrevistas, desafios de resolução de problemas de programação, como Facebook, Amazon, Apple, Netflix, Google e a FORD. Nesse sentido, queremos lhe apresentar uma das ferramentas mais utilizadas. E iremos aqui tornar a experiência inicial mais fácil para você.
É comum dificuldades surgirem nos primeiros usos de qualquer plataforma, até avançar na curva de aprendizagem da mesma. Este projeto fornece exemplo de soluções dos desafios iniciais, e que com estes exemplos, esperamos que você entenda como funciona o BeeCrowd.
- Apresentação da plataforma
- Entrada/Saída
- Respostas do juiz
- Fazer um exemplo com cada entrada possível da plataforma.
Treinar, treinar e treinar.
Existem alguns tipos de entradas e saídas nos problemas do BeeCrowd, as mais comuns são:
Há diferentes formas de tratar as entradas/saídas em múltiplos casos de teste, sendo elas:
- O número de casos de teste pode ser fornecido na primeira linha da entrada ;
- Os casos de teste podem ser terminados com valores especiais, tais como 0 ou * , não limitado a eles;
- Também há a possibilidade dos casos de teste terminarem em EOF (sigla para end-of-file ).
Exemplo de leitura em um caso de teste que termina em EOF :
_while True:_
_try:_
_...lógica..._
_except EOFError:_
_break_
As saídas geralmente devem estar acompanhadas de uma quebra de linha, exemplo:

Entretanto, no enunciado do problema estará especificado a forma correta, caso contrário, tenha como default este exemplo.
Apesar de lermos pela entrada padrão ex:
a = input()
b = int(input())
c = float(input())
por trás, na verdade, nós estaremos lendo e escrevendo em arquivos , por isso, também devemos ter um cuidado no trato dessas informações, exemplos:
No Python , quando lemos com input(), o mesmo fará a leitura da linha inteira. Dito isso, em um caso de teste de exemplo como:
No primeiro input() será lido uma string com "10 7", no segundo "C 1 10" e assim sucessivamente. Visto isso, é nítido que é necessário um tratamento desses dados. (conversões, atribuições, etc…).
O seu código-fonte será enviado e o sistema executará todos os casos de teste disponíveis para aquele problema e sua saída deve ser IGUAL a saída esperada.
Além disso, há algumas restrições que devem ser levadas em consideração, como o tempo de execução e o limite de memória usado.
No exemplo abaixo o algoritmo deve passar nos casos de teste com um tempo de execução máximo de 2 segundos e uso máximo de memória em 200MB.
Cada linguagem tem sua particularidade, então algumas possuem um tempo limite diferente, no python, por exemplo, é de 1 segundo a mais , ou seja, no problema abaixo o tempo limite para python seria de 3 segundos.



