Você está na página 1de 24

Programação Competitiva

Linguagem C/C++

1
Danielle Emely de Souza Almeida
Estudante de graduação do curso de Ciência da Computação

Osvaldo Novais Júnior


Professor (orientador)

Reinaldo Silva Fortes


Professor (orientador)

2
Apresentação

3
1. Parcerias
● Parceria entre DECOM/CODAAUT, UFOP/IFMG;
● Programas de Extensão;
● IFMG
○ Programa Ação da CODAAUT.
● UFOP:
○ Opcoders.

4
2. Objetivos
● Aprimorar os conhecimentos de programação;
● Programação competitiva;
● Incentivar o trabalho em equipe por meio de atividades em grupo.
● Raciocínio lógico e prática de programação.

5
2. Metodologia
● Materiais que usam linguagem de programação C/C++;
● Para executar os códigos, podemos utilizar Code::Blocks
○ Link de acesso para download:
https://www.codeblocks.org
● Um bom editor de códigos recomendado: Visual Studio
Code
● URI - Online Judge
○ Link de acesso: https://www.urionlinejudge.com.br

● Como utilizar algoritmos e estruturas.

6
3. Olimpíada Brasileira de Informática (OBI)
● Duas modalidades;
● Modalidade Iniciação: Alunos resolvem problemas de lógica e
raciocínio computacional, em papel.
● Três níveis:
○ Nível Júnior: alunos do 4º e 5° anos Ensino Fundamental. +
○ Nível 1: alunos do 6º e 7º anos Ensino Fundamental. +
○ Nível 2: alunos do 8º e 9ºanos Ensino Fundamental
OBI

7
3. Olimpíada Brasileira de Informática (OBI)
● Modalidade Programação: Alunos com conhecimento em programação;
● Prova possui níveis variados de dificuldades, possui tarefas mais fáceis e
mais difíceis.
● Níveis:
○ Nível Júnior: alunos de até o 9° ano Ensino Fundamental. +
○ Nível 1: alunos do 1º ano Ensino Médio. +
○ Nível 2: alunos de até 3º ano Ensino Médio;
○ Nível Sênior: alunos do 4º do Ensino Técnico e alunos do primeiro ano
de um curso de graduação.
● Um computador por participante.

8
Exemplo da estrutura das questões

A idade de Dona Mônica


Dona Mônica é mãe de três filhos que têm idades diferentes. Ela notou que, neste ano, a soma das idades
dos seus três filhos é igual à idade dela. Neste problema, dada a idade de dona Mônica e as idades de dois
dos filhos, seu programa deve computar e imprimir a idade do filho mais velho.

Por exemplo, se sabemos que dona Mônica tem 52 anos e as idades conhecidas de dois dos filhos são 14 e
18 anos, então a idade do outro filho, que não era conhecida, tem que ser 20 anos, pois a soma das três
idades tem que ser 52. Portanto, a idade do filho mais velho é 20. Em mais um exemplo, se dona Mônica
tem 47 anos e as idades de dois dos filhos são 21 e 9 anos, então o outro filho tem que ter 17 anos e,
portanto, a idade do filho mais velho é 21.

9
Exemplo da estrutura das questões

Entrada

A primeira linha da entrada contém um inteiro M representando a idade de dona Mônica. A segunda linha
da entrada contém um inteiro A representando a idade de um dos filhos. A terceira linha da entrada
contém um inteiro B representando a idade de outro filho.

Saída

Seu programa deve imprimir uma linha, contendo um número inteiro, representando a idade do filho mais
velho de dona Mônica.

10
Exemplo da estrutura das questões
Restrições

● 40 ≤ M ≤ 110
● 1≤A<M
● 1≤B<M
● A≠B
Exemplos

Entrada Saída
52 20
14
18

Entrada Saída
47 21
21
9

11
Exemplo da estrutura das questões

Matriz super-legal
Denotando por Ai,j o elemento na i-ésima linha e j-ésima coluna da matriz A, dizemos que uma matriz é
"legal" se a condição

A1,1 + Alin,col ≤ A1,col + Alin,1

é verdadeira para todo lin > 1 e col > 1.

Adicionalmente, dizemos que a matriz é "super-legal" se cada uma de suas submatrizes com pelo menos
duas linhas e duas colunas é legal. Lembre que uma submatriz S de uma matriz M LxC é uma matriz que
inclui todos os elementos Mi,j tais que l1 ≤ i ≤ l2 e c1 ≤ j ≤ c2, para 1 ≤ l1 ≤ l2 ≤ L e 1 ≤ c1 ≤ c2 ≤ C.

A sua tarefa é, dada uma matriz A, determinar a maior quantidade de elementos de uma submatriz
super-legal da matriz A.

12
Exemplo da estrutura das questões

Entrada

A primeira linha contém dois inteiros L e C indicando respectivamente o número de linhas e o número de
colunas da matriz. Cada uma das L linhas seguintes contém C inteiros X i representando os elementos da
matriz.

Saída

Seu programa deve produzir uma única linha, contendo uma única linha, com apenas um número inteiro,
a maior quantidade de elementos de uma submatriz super-legal da matriz da entrada, ou zero no caso de
não existir uma submatriz super-legal.

13
Exemplo da estrutura das questões

Entrada

A primeira linha contém dois inteiros L e C indicando respectivamente o número de linhas e o número de
colunas da matriz. Cada uma das L linhas seguintes contém C inteiros X i representando os elementos da
matriz.

Saída

Seu programa deve produzir uma única linha, contendo uma única linha, com apenas um número inteiro,
a maior quantidade de elementos de uma submatriz super-legal da matriz da entrada, ou zero no caso de
não existir uma submatriz super-legal.

14
Exemplo da estrutura das questões

Restrições

● 2 ≤ L,C ≤ 1000
● -106 ≤ Xi ≤ 106

Informações sobre a pontuação

● Para um conjunto de casos de testes valendo 10 pontos, L,C ≤ 3.


● Para um conjunto de casos de testes valendo outros 50 pontos, L,C ≤ 300.

15
Exemplos Exemplo da estrutura das questões
Entrada Saída
3 3 9
1 4 10
5 2 6
11 1 3

Entrada Saída
3 3 4
1 3 1
2 1 2
1 1 1

Entrada Saída
5 6 15
1 1 4 0 3 3
4 4 9 7 11 13
-3 -1 4 2 8 11
1 5 9 5 9 10
4 8 10 5 8 8

16
URI

17
4. Ferramentas e recursos

O principal objetivo é Possui. Criado para auxiliar


promover a prática de alunos para Olimpíadas.
programação e o Possui um guia de estudos
compartilhamento de O Núcleo Olímpico de para a OBI, usando
URI conhecimento. Incentivo ao linguagem C++
Conhecimento - NOIC

Possui diversos
cursos gratuitos e
cursos para voltados
para a OBI. Da antiga
versão do site, o
NEPS ACADEMY CodCad.

18
4. Ferramentas e recursos

Descreve sobre a OBI


e apresenta jogos que
Possui vários cursos
ajudam no
pagos e gratuitos.
aprimoramento de
Oferece um curso de
habilidades
introdução à
UDEMY importantes como
programadores gratuito.
capacidade de
interpretação, análise
e dedução lógica.
LIVRO JOGOS
Jogos originados da
DE LOGICA
OBI.

19
5. Aulas/Encontros Online
● Encontros semanais
○ Quarta-feira às 16h;
○ Microsoft Teams;
● Aulas de conteúdo e exercícios.
● Maior parte das atividades feitas no URI.

● Novidades...

20
6. Novidades… Gamificação!
● Iremos introduzir gamificação em nossos treinamentos;
● Gamificação: uma técnica que usa elementos de design de jogos em
contextos não-jogos, com o objetivo de envolver e motivar as pessoas.
● Para isso precisamos definir alguns pontos:
○ Quais elementos de jogos podemos ou devemos usar;
○ Quais elementos de jogos descartaremos;
○ O mais importante… definir um gênero de jogo.
○ Um elemento que usaremos: avatar.
● Trazer um ambiente propício para gamificação.

21
6. Novidades… Gamificação!
● Arquétipos de Bartle

22
23
Obrigada!
Perguntas?
Contato: danielle.almeida@aluno.ufop.edu.br

24

Você também pode gostar