Skip to content

muhammadakfz/Algorithm-Adventures

Repository files navigation

Algorithm Adventures

Competitive programming archive containing my solutions for a wide range of problem sets from platforms such as Codeforces, AtCoder, Kattis, CSES, TLX, UVa, Project Euler, and more.

This repository is both:

  • a source archive of solved problems grouped by judge/platform
  • a local Django web app for browsing the collection through a cleaner interface

What Is Inside

Solution Archives

The repository stores solutions grouped by platform, including:

  • codeforces/
  • EDU codeforces/
  • AtCoder/
  • atcode/
  • kattis/
  • cses/
  • TLX/
  • UVa/
  • Project Euler/
  • CPC/
  • Virtual Contest/

Most solutions are written in C++ and Python, with some additional languages supported by the scanner and web UI.

Problem Vault

problem-map/ contains a Django-based local web app called Problem Vault. It scans the repository and turns the solution archive into a searchable, grouped interface.

Main capabilities:

  • grouped browsing by platform
  • direct links from Problem ID to the original problem page
  • raw source file access from the UI
  • per-platform pagination
  • search and filter modal
  • light/dark theme support
  • repository-driven metadata generation from local files

Repository Structure

.
├── codeforces/
├── EDU codeforces/
├── AtCoder/
├── atcode/
├── kattis/
├── cses/
├── TLX/
├── UVa/
├── Project Euler/
├── CPC/
├── Virtual Contest/
├── problem-map/
└── scripts/

Important paths:

Running Problem Vault Locally

Install dependencies:

python3 -m pip install -r problem-map/requirements.txt

Start the Django server:

cd problem-map
python3 manage.py runserver 127.0.0.1:3000

Then open:

http://127.0.0.1:3000

GitHub Pages

This repository also includes a static export for GitHub Pages under docs/.

Expected Pages URL (when enabled in repository settings):

https://muhammadakfz.github.io/Algorithm-Adventures/

To regenerate the static site from the latest repository data:

python3 problem-map/export_static.py --output docs

Then commit and push the updated docs/ content.

Automatic Pages Deploy

This repo includes a workflow at problem-vault-pages.yml that builds and deploys Problem Vault automatically on push to main.

To use it:

  1. Open Settings -> Pages
  2. Set Source to GitHub Actions
  3. Push changes under problem-map/ (or trigger workflow manually)

How The Web App Works

The app scans files directly from this repository and builds metadata such as:

  • platform
  • problem ID
  • inferred problem title
  • language
  • category/folder grouping
  • last update date
  • raw source path
  • best-effort external problem URL

The scanner currently recognizes multiple source languages, including:

  • C++
  • C
  • Python
  • Java
  • JavaScript
  • TypeScript
  • Go
  • Rust
  • Kotlin

Notes

  • Problem links are generated on a best-effort basis per platform.
  • The web app is intended for local use and repository exploration.
  • Source-of-truth data comes from the actual files in this repo, not from a separate database.

Author

About

My collection of solutions for various problem sets that I have worked on, such as Codeforces, AtCoder, Kattis, TLX, and many more.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors