ICSC - International Computer Science & Math Competition

Qualification Round Problems

The Qualification Round features five problems that combine mathematical theory with computational thinking. Problems cover number theory, combinatorics, graph theory, and algorithmic design. Each problem is worth 5 points and requires both mathematical insight and programming implementation.

Mathematical Proof Problems

Problems requiring rigorous mathematical proofs, theorem applications, and abstract reasoning in areas like algebra, calculus, and discrete mathematics.

Algorithmic Implementation

Problems involving mathematical algorithms, data structures, and computational complexity analysis in Python, Java, C (C99), or C++.

Pre-Final Round Problems

Qualified participants tackle six advanced mathematical and computational problems over four days, covering advanced topics in linear algebra, probability theory, optimization, and machine learning algorithms:

Mathematical Foundations

2 problems × 4 points each = 8 points

Linear algebra, calculus, and discrete mathematics applications

Advanced Algorithms

2 problems × 6 points each = 12 points

Graph algorithms, dynamic programming, and computational geometry

Research-Level Mathematics

2 problems × 8 points each = 16 points

Advanced mathematical proofs, optimization theory, and machine learning mathematics

Final Round

The Final Round is a fast-paced online exam consisting of 20 multiple-choice questions covering advanced mathematical concepts, algorithmic complexity, and computational theory. Each question has 60 seconds allocated and tests mathematical reasoning without requiring code implementation.

Submission Guidelines

  • Submit a single solution document with written descriptions for all problems
  • Include mathematical proofs with clear step-by-step reasoning and theorem citations
  • Provide rigorous mathematical analysis including complexity analysis and correctness proofs
  • Include source code as text with descriptions and in-line comments
  • Use Python, Java, C (C99), or C++ for programming problems
  • Describe your mathematical reasoning and algorithmic approach for each problem (partial points awarded)
  • For mathematical problems, show all work including lemmas, theorems, and logical deductions
  • Mark final solutions clearly in your document with mathematical notation and proofs
  • Include complexity analysis (time and space) for algorithmic solutions
  • Optionally upload runnable code files alongside your solution document