- This repository contains the development for challenges proposed as part of the course
Advanced Programming and Algorithms
. - Each algorithm is developed in
C/C++
language, and it is submitted to OnlineJudge. - Each challenge can also be found in the Programming Challenges book, by Steven S. Skiena and Miguel A. Revilla.
- For each challenge proposed, there will be a specific directory, e.g.
FileFragmentation
. - Within the directory there will be available an
input
directory, anoutput
directory and asrc
directory.- As the name proposes, the
input
directory contains each input file used to test the challenge. - The
output
directory contains each output file generated in each test for that specific challenge. - The
src
directory contains the solution to the challenge in eitherC/C++
language.
- As the name proposes, the
- The directory
scripts
contains a.sh
script in order to execute the challenge. It must be executed with at least one parameter, the name of the challenge (same as the challenge directory). The second parameter is optional, and it is the input file to be executed. Some challanges require-lm
flag in order to be properly compiled. To use the falg, add it after the desired input. - The directory
bin
is used to store the binary files generated when the challenge is compiled.
$ ./execute.sh ArcheologistDilemma 0 -lm
root
├─ 📁 .git
├─ 📄 .gitignore
├─ 📁 bin
├─ 📁 ArcheologistDilemma
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📁 ContestScoreboard
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📁 FileFragmentation
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📁 Football
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📄 LICENSE
├─ 📁 Minesweeper
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📁 Monocycle
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📄 README.md
├─ 📁 scripts
├─ 📁 Steps
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📁 TollHighway
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
└─ 📁 Yahtzee
├─ 📁 input
├─ 📁 output
└─ 📁 src
- Este repositório contém solução para desafios propostos como parte do curso
Programação Avançada e Algoritmos
. - Todas as soluções propostas foram desenvolvidas em linguagem
C/C++
e retiradas do website OnlineJudge. - Os desafios estão presentes também no livro Programming Challenges, por Steven S. Skiena e Miguel A. Revilla.
- Para cada desafio proposto, há um diretório específico, por exemplo,
FileFragmentation
. - No interior do diretório, encontra-se outros três diretórios:
input
,output
esrc
.- Como proposto pelo nome, o diretório
input
contém arquivos de entrada utilizados para realizar testes dos desafios. - O diretório
output
contém os arquivos resultantes dos testes mencionados acima. - O diretório
src
contém a implementação da solução em linguagemC/C++
.
- Como proposto pelo nome, o diretório
- O diretório
scripts
contém umscript
em.sh
que recebem como parâmetro de entrada o nome do desafio e o número do arquivo de entrada a ser usado na execução. Para a execução do script, é necessário fornecer o nome do desafio (mesmo nome dos diretórios). Por padrão o arquivo de entrada será o exemplo padrão do desafio. Alguns desafios necessitam do parâmetro-lm
para serem compilados, neste caso, basta adicionar o argumento após o input. - O diretório
bin
contém os arquivos binários gerados na compilação do desafio.
root
├─ 📁 .git
├─ 📄 .gitignore
├─ 📁 bin
├─ 📁 ArcheologistDilemma
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📁 ContestScoreboard
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📁 FileFragmentation
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📁 Football
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📄 LICENSE
├─ 📁 Minesweeper
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📁 Monocycle
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📄 README.md
├─ 📁 scripts
├─ 📁 Steps
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
├─ 📁 TollHighway
│ ├─ 📁 input
│ ├─ 📁 output
│ └─ 📁 src
└─ 📁 Yahtzee
├─ 📁 input
├─ 📁 output
└─ 📁 src