Tutorial

C++ para programação competitiva

Um artigo introdutório para aprender os básicos de C++ com foco em programação competitiva de forma prática.

Nível: novato Autor: Miguel Oliveira Série: Básico de C++ · Parte 1 Tags: c++

Por quê C++?

Atualmente, C++ é a linguagem mais usada em programação competitiva. Os principais motivos são:

  • A velocidade
    • Performance é algo essencial em programação competitiva, já que o seu programa tem um limite de tempo.
    • C++ costuma produzir programas mais rápidos que a maioria das outras linguagens em tarefas algorítmicas.
  • O suporte
    • A biblioteca padrão do C++ já contém vários algoritmos e estruturas de dados úteis para programação competitiva, o que é conveniente.
    • A maior parte dos recursos de programação competitiva usam códigos em C++.

Código base

É muito comum competidores usarem um código base (ou template) para começar a escrever suas soluções, em vez de escrever do zero sempre.

Um exemplo de código base simples para iniciantes é o seguinte:

#include <bits/stdc++.h>

using namespace std;
using ll = long long;

int main() {
    cin.tie(0)->sync_with_stdio(0);
}

Neste código, você pode escrever sua solução logo abaixo da linha cin.tie(0)->sync_with_stdio(0);.

Input e Output

Lendo variáveis

Para ler diferentes tipos de variáveis, usamos cin >> x. Por exemplo:

// ...
int main() {
    cin.tie(0)->sync_with_stdio(0);

    int n, a, b;
    cin >> n >> a >> b;
    string s, t;
    cin >> s >> t;
}

Printando coisas

Para printar coisas, usamos cout << x. Exemplo:

// ...
int main() {
    cin.tie(0)->sync_with_stdio(0);

    cout << "Hello!" << endl;
    cout << 1 + 2 * 3 << endl;
    
    int n;
    cin >> n;
    cout << 2 * n << endl;
}

Série

Básico de C++

  1. C++ para programação competitiva Parte 1