adicionando soluções java e py

This commit is contained in:
2026-10-28 15:42:27 -03:00
parent d860dd2f7a
commit eefcf7cf4e
106 changed files with 143 additions and 62 deletions

View File

@@ -5,9 +5,10 @@
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Caching Offline}
\author{}
\author{Arthur Andrade D'Olival }
\date{}
\begin{document}
\maketitle

Binary file not shown.

View File

@@ -1,7 +1,7 @@
\documentclass{maratona}
\begin{document}
\begin{ProblemaAutor}{}{Caching Offline}{1}{256}{}
\begin{ProblemaAutor}{}{Caching Offline}{1}{256}{Arthur Andrade D'Olival }
Dado um sistema com memória principal dividida em \( k \) frames, deseja-se gerenciar uma sequência de requisições de páginas de modo a minimizar falhas de memória (\textit{cache misses}).
@@ -24,6 +24,7 @@ A saída deve conter uma única linha.
Deve ser impresso um único inteiro representando o \textbf{menor número de falhas de página} (\textit{cache misses}) que podem ser obtidos para a sequência e capacidade de memória fornecidas.
\ExemploEntrada
\begin{Exemplo}
\texttt{1~3} & \texttt{3}\\
\texttt{1~2~3} & \\

View File

@@ -2,7 +2,7 @@
"version": "1.0",
"problem": {
"title": "Caching Offline",
"event": "",
"event": "DS Contest Tools",
"time_limit": 1.0,
"memory_limit_mb": 256,
"input_file": "stdin",
@@ -22,7 +22,7 @@
}
},
"author": {
"name": "",
"name": "Arthur Andrade D'Olival ",
"affiliation": "",
"country": "",
"email": ""
@@ -36,7 +36,7 @@
"run_specific_solution": "",
"generate_io_only": false,
"generate_pdf_only": false,
"cpu_count": 1,
"cpu_count": 0,
"build_pdf": true,
"pdf_format": "ds",
"io_samples": 3

Binary file not shown.

View File

@@ -5,7 +5,8 @@
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Chuva}
\author{OBI 2019}
\date{}

Binary file not shown.

View File

@@ -39,6 +39,7 @@ representando a matriz da entrada depois que todas as posições molhadas forem
marcadas com o caractere \texttt{o}.
\ExemploEntrada
\begin{Exemplo}
\texttt{9~14} & \texttt{......oooooo..}\\
\texttt{.......o......} & \texttt{.\#\#\#..o\#\#\#\#o\#.}\\

View File

@@ -43,7 +43,7 @@
},
"solutions": {
"main-ac": "ac.cpp",
"alternative-ac": ["alternative_ac.py"],
"alternative-ac": ["alternative_ac.py","saad_java.java"],
"wrong-answer": [],
"time-limit": [],
"time-limit-or-ac": [],

Binary file not shown.

View File

@@ -5,7 +5,8 @@
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Decodificando Mensagens}
\author{Arthur Andrade D'Olival}
\date{}

Binary file not shown.

View File

@@ -21,6 +21,7 @@ A saída deve conter um único inteiro, representando o número total de maneira
Como este número pode ser extremamente grande, sua resposta deve ser calculada e impressa \textbf{módulo \(10^9 + 7\)}.
\ExemploEntrada
\begin{Exemplo}
\texttt{2} & \texttt{2}\\
\texttt{12} & \\
@@ -34,9 +35,9 @@ Como este número pode ser extremamente grande, sua resposta deve ser calculada
\Notas
Para a sequência \( s = "12" \), existem duas decodificações possíveis: "AB" (1, 2) e "L" (12).
Para a sequência \( s = "226" \), há três decodificações possíveis: "BZ" (2, 26), "VF" (22, 6) e "BBF" (2, 2, 6).
Para a sequência \( s = "06" \), não há nenhuma forma válida de decodificação.
Para a sequência \( s = 12 \), existem duas decodificações possíveis: "AB" (1, 2) e "L" (12).
Para a sequência \( s = 226 \), há três decodificações possíveis: "BZ" (2, 26), "VF" (22, 6) e "BBF" (2, 2, 6).
Para a sequência \( s = 06 \), não há nenhuma forma válida de decodificação.
\section*{Observações}

View File

@@ -1,6 +1,6 @@
Para a sequência \( s = "12" \), existem duas decodificações possíveis: "AB" (1, 2) e "L" (12).
Para a sequência \( s = "226" \), há três decodificações possíveis: "BZ" (2, 26), "VF" (22, 6) e "BBF" (2, 2, 6).
Para a sequência \( s = "06" \), não há nenhuma forma válida de decodificação.
Para a sequência \( s = 12 \), existem duas decodificações possíveis: "AB" (1, 2) e "L" (12).
Para a sequência \( s = 226 \), há três decodificações possíveis: "BZ" (2, 26), "VF" (22, 6) e "BBF" (2, 2, 6).
Para a sequência \( s = 06 \), não há nenhuma forma válida de decodificação.
\section*{Observações}

View File

@@ -5,7 +5,8 @@
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Deletar e Ganhar}
\author{Arthur Andrade D'Olival}
\date{}

Binary file not shown.

View File

@@ -19,6 +19,7 @@ A segunda linha contém \( n \) inteiros \( a_1, a_2, \ldots, a_n \) (\( 1 \leq
A saída deve conter um único inteiro, representando a pontuação máxima possível obtida após realizar as operações descritas.
\ExemploEntrada
\begin{Exemplo}
\texttt{3} & \texttt{8}\\
\texttt{3~4~5} & \\

View File

@@ -43,9 +43,17 @@
},
"solutions": {
"main-ac": "ac.cpp",
"alternative-ac": ["saad.py"],
"wrong-answer": ["WA.cpp"],
"time-limit": ["TLE.cpp"],
"alternative-ac": [
"saad.py",
"ac_java.java",
"ac_py.py"
],
"wrong-answer": [
"WA.cpp"
],
"time-limit": [
"TLE.cpp"
],
"time-limit-or-ac": [],
"time-limit-or-memory-limit": [],
"memory-limit": [],

View File

@@ -5,7 +5,8 @@
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Distância de Edição}
\author{Arthur Andrade D'Olival}
\date{}

Binary file not shown.

View File

@@ -29,6 +29,7 @@ A entrada consiste de duas linhas:
Imprima um único inteiro representando o \textbf{menor número de operações} necessárias para transformar \( s_1 \) em \( s_2 \).
\ExemploEntrada
\begin{Exemplo}
\texttt{7~7} & \texttt{3}\\
\texttt{estouro~calouro} & \\

View File

@@ -11,10 +11,13 @@
"grader": false,
"subject": {
"en_us": [
"dynamic-programming", "DP", "edit-distance"
"dynamic-programming",
"DP",
"edit-distance"
],
"pt_br": [
"programação-dinâmica", "distância-de-edição"
"programação-dinâmica",
"distância-de-edição"
],
"es": [
""
@@ -36,16 +39,22 @@
"run_specific_solution": "",
"generate_io_only": false,
"generate_pdf_only": false,
"cpu_count": 1,
"cpu_count": 0,
"build_pdf": true,
"pdf_format": "ds",
"io_samples": 2
},
"solutions": {
"main-ac": "ac.cpp",
"alternative-ac": ["saad.py"],
"alternative-ac": [
"saad.py",
"ac_java.java",
"ac_py.py"
],
"wrong-answer": [],
"time-limit": ["TLE.cpp"],
"time-limit": [
"TLE.cpp"
],
"time-limit-or-ac": [],
"time-limit-or-memory-limit": [],
"memory-limit": [],

Binary file not shown.

Binary file not shown.

View File

@@ -5,7 +5,8 @@
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Estouro}
\author{Arthur Andrade D'Olival}
\date{}

Binary file not shown.

View File

@@ -9,7 +9,7 @@ A regra do experimento é simples, ou pelo menos parece: você deve estourar tod
Porém, o nível de energia liberado em cada explosão depende dos balões que ainda restam ao redor.
Ao estourar o balão $i$, o experimento libera uma quantidade de energia igual a
\texttt{valor\_do\_balão[i-1] * valor\_do\_balão[i] * valor\_do\_balão[i+1]}.
$b[i-1] * b[i] * b[i+1]$, em que $b[k]$ é o valor do $k$-ésimo balão.
Se algum dos vizinhos ($i-1$ ou $i+1$) não existir, imagine que há um balão virtual com o número $1$ nas extremidades.
Cada explosão altera completamente o arranjo restante, tornando o resultado imprevisível, a ordem em que você estoura os balões é crucial.
@@ -29,6 +29,7 @@ Imprima um único inteiro, a \textbf{quantidade máxima total de energia} que po
ao estourar todos os balões na melhor ordem possível.
\ExemploEntrada
\begin{Exemplo}
\texttt{4} & \texttt{167}\\
\texttt{3~1~5~8} & \\

View File

@@ -36,14 +36,18 @@
"run_specific_solution": "",
"generate_io_only": false,
"generate_pdf_only": false,
"cpu_count": 1,
"cpu_count": 0,
"build_pdf": true,
"pdf_format": "ds",
"io_samples": 2
},
"solutions": {
"main-ac": "ac.cpp",
"alternative-ac": ["alternative-ac.py"],
"alternative-ac": [
"alternative-ac.py",
"ac_java.java",
"ac_py.py"
],
"wrong-answer": [],
"time-limit": [],
"time-limit-or-ac": [],

View File

@@ -4,7 +4,7 @@ A regra do experimento é simples, ou pelo menos parece: você deve estourar tod
Porém, o nível de energia liberado em cada explosão depende dos balões que ainda restam ao redor.
Ao estourar o balão $i$, o experimento libera uma quantidade de energia igual a
\texttt{valor\_do\_balão[i-1] * valor\_do\_balão[i] * valor\_do\_balão[i+1]}.
$b[i-1] * b[i] * b[i+1]$, em que $b[i]$ é o valor de energia do $i$-ésimo balão.
Se algum dos vizinhos ($i-1$ ou $i+1$) não existir, imagine que há um balão virtual com o número $1$ nas extremidades.
Cada explosão altera completamente o arranjo restante, tornando o resultado imprevisível, a ordem em que você estoura os balões é crucial.

Binary file not shown.

View File

@@ -43,7 +43,7 @@
},
"solutions": {
"main-ac": "ac.cpp",
"alternative-ac": ["alternative-ac.py"],
"alternative-ac": ["alternative-ac.py","saad_java.java"],
"wrong-answer": ["wa.cpp"],
"time-limit": [],
"time-limit-or-ac": [],

View File

@@ -1,5 +1,23 @@
\documentclass{maratona}
\usepackage[boxed,algoruled,linesnumbered,vlined,longend]{algorithm2e}
\SetKwFor{For}{for $($}{$)$}{}
\SetKwFor{ForAll}{for all $($}{$)$}{}
\SetKwFor{If}{if $($}{$)$}{}
\SetKwFor{ElseIf}{else if $($}{$)$}{}
\newcommand{\Call}[2]{\textsc{#1}(#2)}
\SetFuncSty{textsc}
\DontPrintSemicolon
\newenvironment{algoritmo}[1][htbp]
{
\begingroup
\renewcommand{\algorithmcfname}{Algoritmo}
\begin{algorithm}[#1]
}
{
\end{algorithm}
\endgroup
}
\begin{document}
\begin{ProblemaAutor}{}{Inclusão de Subintervalos}{1}{256}{}

View File

@@ -19,7 +19,7 @@
\endgroup
}
\begin{document}
\begin{ProblemaAutor}{}{Inclusão de Subintervalos}{1}{256}{}
\begin{ProblemaAutor}{}{Inclusão de Subintervalos}{1}{256}{Arthur Andrade D'Olival}
Seja \( S \) um conjunto de \( n \) intervalos sobre a reta real \( ([l_0, r_0], [l_1, r_1], \ldots, [l_{n-1}, r_{n-1}]) \), de modo que, para todo intervalo \( [l_i, r_i] \), temos \( l_i \le r_i \).

View File

@@ -2,7 +2,7 @@
"version": "1.0",
"problem": {
"title": "Inclusão de Subintervalos",
"event": "",
"event": "DS Contest-Tools",
"time_limit": 1.0,
"memory_limit_mb": 256,
"input_file": "stdin",
@@ -26,7 +26,7 @@
}
},
"author": {
"name": "",
"name": "Arthur Andrade D'Olival",
"affiliation": "",
"country": "",
"email": ""
@@ -40,7 +40,7 @@
"run_specific_solution": "",
"generate_io_only": false,
"generate_pdf_only": false,
"cpu_count": 1,
"cpu_count": 0,
"build_pdf": true,
"pdf_format": "ds",
"io_samples": 2
@@ -49,7 +49,8 @@
"main-ac": "ac.cpp",
"alternative-ac": [
"caio.cpp",
"saad.py"
"saad.py",
"luma.py"
],
"wrong-answer": [
"wa.cpp"

View File

@@ -5,7 +5,8 @@
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Knapsack Problem}
\author{Arthur Andrade D'Olival}
\date{}

View File

@@ -19,6 +19,7 @@ Cada uma das próximas \( N \) linhas contém dois inteiros \( w_i \) e \( v_i \
Imprima um único inteiro representando o valor total máximo que pode ser obtido sem exceder a capacidade da mochila.
\ExemploEntrada
\begin{Exemplo}
\texttt{3~8} & \texttt{90}\\
\texttt{3~30} & \\

View File

@@ -36,14 +36,14 @@
"run_specific_solution": "",
"generate_io_only": false,
"generate_pdf_only": false,
"cpu_count": 1,
"cpu_count": 0,
"build_pdf": true,
"pdf_format": "ds",
"io_samples": 3
},
"solutions": {
"main-ac": "ac.cpp",
"alternative-ac": ["alternative-ac.py"],
"alternative-ac": ["alternative-ac.py","ac_java.java","ac_py.py"],
"wrong-answer": ["WA.cpp"],
"time-limit": ["TLE.cpp"],
"time-limit-or-ac": [],

View File

@@ -5,7 +5,8 @@
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Movimento do Cavalo}
\author{Spoj NAKANJ - Minimum Knight moves}
\date{}

Binary file not shown.

View File

@@ -31,6 +31,7 @@ o primeiro caractere é uma letra de `a' a `h', e o segundo é um dígito de `1'
Para cada caso de teste, imprima o número mínimo de movimentos necessários para o cavalo alcançar o destino a partir da posição inicial.
\ExemploEntrada
\begin{Exemplo}
\texttt{3} & \texttt{6}\\
\texttt{a1~h8} & \texttt{1}\\

View File

@@ -43,7 +43,7 @@
},
"solutions": {
"main-ac": "ac.cpp",
"alternative-ac": [],
"alternative-ac": ["saad_java.java","saad_python.py"],
"wrong-answer": [],
"time-limit": [],
"time-limit-or-ac": [],

View File

@@ -5,7 +5,8 @@
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Maior Subsequência Comum}
\author{Arthur Andrade D'Olival}
\date{}

View File

@@ -20,6 +20,7 @@ Na primeira linha, deve ser impresso o comprimento da maior subsequência comum.
Na segunda linha, deve ser impressa uma subsequência comum de comprimento máximo.
\ExemploEntrada
\begin{Exemplo}
\texttt{5~3} & \texttt{3}\\
\texttt{abcde~ace} & \texttt{ace}\\

View File

@@ -11,10 +11,13 @@
"grader": false,
"subject": {
"en_us": [
"dynamic-programming", "LCS", "longest-common-subsequence"
"dynamic-programming",
"LCS",
"longest-common-subsequence"
],
"pt_br": [
"programação-dinâmica", "maior-subsequência-comum"
"programação-dinâmica",
"maior-subsequência-comum"
],
"es": [
""
@@ -36,16 +39,22 @@
"run_specific_solution": "",
"generate_io_only": false,
"generate_pdf_only": false,
"cpu_count": 1,
"cpu_count": 0,
"build_pdf": true,
"pdf_format": "ds",
"io_samples": 3
},
"solutions": {
"main-ac": "ac.cpp",
"alternative-ac": ["alternative-ac.py"],
"alternative-ac": [
"alternative-ac.py",
"ac_java.java",
"ac_py.py"
],
"wrong-answer": [],
"time-limit": ["TLE.cpp"],
"time-limit": [
"TLE.cpp"
],
"time-limit-or-ac": [],
"time-limit-or-memory-limit": [],
"memory-limit": [],

Binary file not shown.

View File

@@ -5,7 +5,8 @@
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Metro}
\author{OBI 2015}
\date{}

Binary file not shown.

View File

@@ -42,6 +42,7 @@ Imprima um único inteiro: o número de estações pelas quais passa a linha
circular do sistema de metrô.
\ExemploEntrada
\begin{Exemplo}
\texttt{6~10} & \texttt{5}\\
\texttt{1~6} & \\

View File

@@ -43,7 +43,7 @@
},
"solutions": {
"main-ac": "ac.cpp",
"alternative-ac": ["alternative_ac.py"],
"alternative-ac": ["alternative_ac.py","saad_java.java"],
"wrong-answer": [],
"time-limit": [],
"time-limit-or-ac": [],

View File

@@ -43,7 +43,7 @@
},
"solutions": {
"main-ac": "ac.cpp",
"alternative-ac": ["alternative-ac.py"],
"alternative-ac": ["alternative-ac.py", "saad_java.java"],
"wrong-answer": [],
"time-limit": [],
"time-limit-or-ac": [],

View File

@@ -43,7 +43,7 @@
},
"solutions": {
"main-ac": "ac.cpp",
"alternative-ac": ["alternative-ac.py"],
"alternative-ac": ["alternative-ac.py","saad_java.java"],
"wrong-answer": [],
"time-limit": [],
"time-limit-or-ac": [],

View File

@@ -5,7 +5,8 @@
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: Rede Anel Estelar}
\author{Arthur Andrade Dolival}
\date{}

View File

@@ -36,6 +36,7 @@ Se a topologia atual corresponder perfeitamente às especificações de uma Rede
Caso contrário, imprima \texttt{OFFLINE}.
\ExemploEntrada
\begin{Exemplo}
\texttt{14~14} & \texttt{ONLINE}\\
\texttt{10~1} & \\

View File

@@ -47,7 +47,7 @@
},
"solutions": {
"main-ac": "ac.cpp",
"alternative-ac": ["alternative-ac.py"],
"alternative-ac": ["alternative-ac.py","saad_java.java"],
"wrong-answer": [],
"time-limit": [],
"time-limit-or-ac": [],

Binary file not shown.

View File

@@ -5,7 +5,8 @@
\usepackage{url}
\pagenumbering{gobble}
\usepackage{hyperref}
\usepackage{graphicx}
\input{statement/preamble.tex}
\title{ Tutorial: SMS}
\author{Arthur Andrade D'Olival}
\date{}

Binary file not shown.

View File

@@ -24,6 +24,7 @@ Se for possível que o SMS chegue até Ana, primeiro imprima $k$: o número mín
Se não for possível encontrar nenhuma rota, imprima \texttt{-1}.
\ExemploEntrada
\begin{Exemplo}
\texttt{5~5} & \texttt{3}\\
\texttt{1~2} & \texttt{1~4~5}\\
@@ -31,7 +32,7 @@ Se não for possível encontrar nenhuma rota, imprima \texttt{-1}.
\texttt{1~4} & \\
\texttt{2~3} & \\
\texttt{5~4} & \\
\rowcolor{gray!20}\texttt{5~4} & \texttt{-1}\\
\rowcolor{gray!20}\texttt{5~4} & \texttt{\textendash{}1}\\
\rowcolor{gray!20}\texttt{1~2} & \\
\rowcolor{gray!20}\texttt{2~3} & \\
\rowcolor{gray!20}\texttt{3~4} & \\

Some files were not shown because too many files have changed in this diff Show More