2021.08.16 P1363 Labirinto de Ilusão (dfs, eu senti a forte maldade do criador)
O labirinto de ilusão é infinito, mas é formado pela repetição de uma matriz de N linhas por M colunas. Algumas células são estradas, representadas por '.', e outras são paredes, representadas por '#'. O ponto de partida é marcado com 'S'. LHX e WD podem mover-se para cima, baixo, esquerda e direita, mas apenas para células que não sejam parede ...
Publicado em 10-3 06:41
Mecanismos de Passagem de Parâmetros em C++
Passagem por Valor
Na passagem por valor, o compilador cria uma cópia local do dado original e a armazena em um novo endereço de memória dentro do escopo da função. Quaisquer modificações realizadas no parâmetro afetam apenas essa cópia, preservando a variável original intacta.
Considerações:
Segurança: Garante que a função não altere o estado ...
Publicado em 9-29 14:55
Conversão entre Decimal, Hexadecimal e BCD em C++, com Funções e Impressão Formatada
Conversões Numéricas
Implementações em C++ para conversão entre diferentes formatos numéricos, icnluindo decimal, hexadecimal e BCD, com uso de funções bem definidas e saída formatada via printf.
Função: Inversão de Bytes
Realiza o complemento de um byte em dados binários:
int inverterBytes(unsigned char *saida, const unsigned char *entrada, i ...
Publicado em 9-28 15:42
Mastering Type Conversion in C++: Implicit vs. Explicit Strategies
Type conversion is a foundational mechanism in C++ that enables interoperability between distinct data types. It occurs whenever values must be interpreted or reinterpreted across type boundaries—whether during assignment, arithmetic operations, function calls, or object construction. A deep understanding of how and when conversions happen—auto ...
Publicado em 9-19 06:25
Polimorfismo em C++: Diferenças entre Funções Virtuais e Funções Virtuais Puras
Em C++, o polimorfismo e a implementação de interfaces dependem fundamentalmente de dois conceitos: funções virtuais e funções virtuais puras. Embora ambos utilizem o mecanismo de ligação dinâmica, suas aplicações, regras de definição e impactos no design de classes divergem significativamente.
Funções Virtuais: Implementação com Comportamento ...
Publicado em 9-18 11:57
Operadores em C++: Guia Completo
Operadores Aritméticos
Os operadores aritméticos realizam operações matemáticas básicas sobre valores numéricos.
Símbolo
Operação
Exemplo
Resultado
+
Adição
5 + 3
8
-
Subtração
5 - 3
2
*
Multiplicação
5 * 3
15
/
Divisão
5 / 3
1
%
Módulo
5 % 3
2
++
Incremento
++x ou x++
Incrementa em 1
--
Decremento
--x ou x--
Decrementa em 1
...
Publicado em 9-18 10:32
Ponteiros, Referências e Classes em C++
Operadores fundamentais: & e *
Em C++, o operador & retorna o endereço de uma variável, enquanto o operador * pode declarar um ponteiro ou acessar o valor apontado por ele.
#include <iostream>
int main()
{
int x = 10, y = 20;
int* ptrX = &x;
int* ptrY = &y;
std::cout << "Endereco de x: " ...
Publicado em 9-17 21:51
Estruturas de Dados em C++: Árvores Binárias, BST e Tabelas Hash
Construção e Percursos em Árvores Binárias
A manipulação de árvores binárias é fundamental na ciência da computação. A estrutura básica de um nó pode ser definida utilizando ponteiros para os subnós esquerdo e direito. Abaixo, apresentamos a implementação da criação de uma árvore a partir de uma string em pré-ordem, onde o caractere # indica um ...
Publicado em 9-17 20:47
Fatoração em Primos: Decomposição de Números Individuais e Cálculo Eficiente para Fatoriais
Princípio
A dceomposição em fatores primos de um inteiro é feita por divisões sucessivas (trial division).
Complexidade
\(O(\sqrt{n})\) ou, com otimizações, \(O\left(\frac{\sqrt{n}}{\ln(\sqrt{n})}\right)\).
Fatoração de um fatorial \(N!\)
Dado um inteiro \(N\), decomponha \(N!\) em fatores primos e exiba cada base \(p_i\) com seu respectivo ex ...
Publicado em 9-15 00:02
Cálculo da Soma de Fatoriais
Problema
Dado um número inteiro positivo N, calcule S = 1! + 2! + 3! + ... + N!.
Formato de Entrada
A entrada consiste em um número inteiro positivo N não superior a 10.
Formato de Saída
Exiba o valor de S em uma única linha.
Exemplo de Entrada
3
Exemplo de Saída
9
Implemetnações em Diferentes Linguagens
1. Versão em C++
#include <iostream ...
Publicado em 9-14 15:06