# rotaxs/algorithmexercises architecture

> Architecture diagram of the GitHub repository rotaxs/algorithmexercises, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rotaxs/algorithmexercises
- Repository: https://github.com/rotaxs/algorithmexercises

## Overview

This is a collection of standalone competitive-programming solutions and algorithm examples, not a single application. The usual workflow is to choose a problem file, provide its expected input, and read its output; the sampled files illustrate this pattern, but the repository does not show a shared runner or common runtime. The README also identifies algorithm notes and a C++17 template, though notes are absent from the supplied tree. Directory-level nodes represent documented collections whose individual implementations were not sampled.

Main entry points: [`Contests/CF_Round_1101_div2`](https://github.com/rotaxs/algorithmexercises/tree/main/Contests/CF_Round_1101_div2) (AtCoder and CF), [`Contests/ICPC_2025_Wuhan_Invitational_Contest`](https://github.com/rotaxs/algorithmexercises/tree/main/Contests/ICPC_2025_Wuhan_Invitational_Contest) (ICPC and CCPC), [`Contests/Nowcoder_Weekly154`](https://github.com/rotaxs/algorithmexercises/tree/main/Contests/Nowcoder_Weekly154) (Nowcoder contests), [`Exercises/Luogu`](https://github.com/rotaxs/algorithmexercises/tree/main/Exercises/Luogu) (Luogu exercises)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_contests["Contest solutions"]
  node_contest_solutions["Contest programs"]
  node_atcoder_cf["AtCoder and CF"]
  node_icpc_ccpc["ICPC and CCPC"]
  node_nowcoder_contests["Nowcoder contests"]
end

subgraph group_practice["Platform practice"]
  node_practice_solutions["Practice programs"]
  node_luogu["Luogu exercises"]
  node_nowcoder_exercises["Nowcoder exercises"]
  node_leetcode["LeetCode exercises"]
  node_other_exercises["Other exercises"]
end

subgraph group_algorithms["Algorithm examples"]
  node_algorithms["Algorithm implementations"]
  node_graph_algorithms["Graph algorithms"]
  node_number_theory["Number theory"]
  node_search_algorithms["Search algorithms"]
  node_data_structures["Data structures"]
end

subgraph group_starter["Submission starter"]
  node_starter_template["C++17 template<br/>[template.cpp]"]
end

node_participant(("Problem solver"))
node_input["Problem input"]
node_output["Problem result"]

node_participant -->|"chooses problem"| node_contest_solutions
node_participant -->|"chooses problem"| node_practice_solutions
node_participant -->|"studies examples"| node_algorithms
node_participant -->|"adapts template"| node_starter_template
node_input -->|"stdin"| node_atcoder_cf
node_input -->|"stdin"| node_icpc_ccpc
node_input -->|"stdin"| node_nowcoder_contests
node_input -->|"stdin"| node_luogu
node_input -->|"stdin"| node_nowcoder_exercises
node_input -->|"problem data"| node_leetcode
node_input -->|"stdin"| node_other_exercises
node_atcoder_cf -->|"prints result"| node_output
node_icpc_ccpc -->|"prints result"| node_output
node_nowcoder_contests -->|"prints result"| node_output
node_luogu -->|"prints result"| node_output
node_nowcoder_exercises -->|"prints result"| node_output
node_leetcode -->|"returns result"| node_output
node_other_exercises -->|"prints result"| node_output

click node_contest_solutions "https://github.com/rotaxs/algorithmexercises/tree/main/Contests"
click node_atcoder_cf "https://github.com/rotaxs/algorithmexercises/tree/main/Contests/CF_Round_1101_div2"
click node_icpc_ccpc "https://github.com/rotaxs/algorithmexercises/tree/main/Contests/ICPC_2025_Wuhan_Invitational_Contest"
click node_nowcoder_contests "https://github.com/rotaxs/algorithmexercises/tree/main/Contests/Nowcoder_Weekly154"
click node_practice_solutions "https://github.com/rotaxs/algorithmexercises/tree/main/Exercises"
click node_luogu "https://github.com/rotaxs/algorithmexercises/tree/main/Exercises/Luogu"
click node_nowcoder_exercises "https://github.com/rotaxs/algorithmexercises/tree/main/Exercises/Nowcoder"
click node_leetcode "https://github.com/rotaxs/algorithmexercises/tree/main/Exercises/LeetCode"
click node_other_exercises "https://github.com/rotaxs/algorithmexercises/tree/main/Exercises/Other"
click node_algorithms "https://github.com/rotaxs/algorithmexercises/tree/main/algorithm"
click node_graph_algorithms "https://github.com/rotaxs/algorithmexercises/tree/main/algorithm/graph"
click node_number_theory "https://github.com/rotaxs/algorithmexercises/tree/main/algorithm/number_theory"
click node_search_algorithms "https://github.com/rotaxs/algorithmexercises/tree/main/algorithm/search"
click node_data_structures "https://github.com/rotaxs/algorithmexercises/tree/main/algorithm/structure"
click node_starter_template "https://github.com/rotaxs/algorithmexercises/blob/main/template.cpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_contest_solutions,node_atcoder_cf,node_icpc_ccpc,node_nowcoder_contests toneBlue
class node_practice_solutions,node_luogu,node_nowcoder_exercises,node_leetcode,node_other_exercises toneAmber
class node_algorithms,node_graph_algorithms,node_number_theory,node_search_algorithms,node_data_structures toneMint
class node_starter_template toneRose
class node_participant,node_input,node_output toneIndigo
```

## Components

### Contest solutions

- [Contest programs](https://github.com/rotaxs/algorithmexercises/tree/main/Contests): `Contests`
- [AtCoder and CF](https://github.com/rotaxs/algorithmexercises/tree/main/Contests/CF_Round_1101_div2): `Contests/CF_Round_1101_div2`
- [ICPC and CCPC](https://github.com/rotaxs/algorithmexercises/tree/main/Contests/ICPC_2025_Wuhan_Invitational_Contest): `Contests/ICPC_2025_Wuhan_Invitational_Contest`
- [Nowcoder contests](https://github.com/rotaxs/algorithmexercises/tree/main/Contests/Nowcoder_Weekly154): `Contests/Nowcoder_Weekly154`

### Platform practice

- [Practice programs](https://github.com/rotaxs/algorithmexercises/tree/main/Exercises): `Exercises`
- [Luogu exercises](https://github.com/rotaxs/algorithmexercises/tree/main/Exercises/Luogu): `Exercises/Luogu`
- [Nowcoder exercises](https://github.com/rotaxs/algorithmexercises/tree/main/Exercises/Nowcoder): `Exercises/Nowcoder`
- [LeetCode exercises](https://github.com/rotaxs/algorithmexercises/tree/main/Exercises/LeetCode): `Exercises/LeetCode`
- [Other exercises](https://github.com/rotaxs/algorithmexercises/tree/main/Exercises/Other): `Exercises/Other`

### Algorithm examples

- [Algorithm implementations](https://github.com/rotaxs/algorithmexercises/tree/main/algorithm): `algorithm`
- [Graph algorithms](https://github.com/rotaxs/algorithmexercises/tree/main/algorithm/graph): `algorithm/graph`
- [Number theory](https://github.com/rotaxs/algorithmexercises/tree/main/algorithm/number_theory): `algorithm/number_theory`
- [Search algorithms](https://github.com/rotaxs/algorithmexercises/tree/main/algorithm/search): `algorithm/search`
- [Data structures](https://github.com/rotaxs/algorithmexercises/tree/main/algorithm/structure): `algorithm/structure`

### Submission starter

- [C++17 template](https://github.com/rotaxs/algorithmexercises/blob/main/template.cpp): `template.cpp`

### Other components

- **Problem solver**
- **Problem input**
- **Problem result**

## Connections

- Problem solver → Contest programs: chooses problem
- Problem solver → Practice programs: chooses problem
- Problem solver → Algorithm implementations: studies examples
- Problem solver → C++17 template: adapts template
- Problem input → AtCoder and CF: stdin
- Problem input → ICPC and CCPC: stdin
- Problem input → Nowcoder contests: stdin
- Problem input → Luogu exercises: stdin
- Problem input → Nowcoder exercises: stdin
- Problem input → LeetCode exercises: problem data
- Problem input → Other exercises: stdin
- AtCoder and CF → Problem result: prints result
- ICPC and CCPC → Problem result: prints result
- Nowcoder contests → Problem result: prints result
- Luogu exercises → Problem result: prints result
- Nowcoder exercises → Problem result: prints result
- LeetCode exercises → Problem result: returns result
- Other exercises → Problem result: prints result
