0% found this document useful (0 votes)
20 views

Programming Challenges 10-10

The document discusses an algorithm textbook that aims to help students learn algorithms through hands-on practice problems of varying difficulty. It provides implementations of classical algorithms and an online judge system to check solutions. The book is intended to train students for programming competitions.

Uploaded by

Sandeep Singh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Programming Challenges 10-10

The document discusses an algorithm textbook that aims to help students learn algorithms through hands-on practice problems of varying difficulty. It provides implementations of classical algorithms and an online judge system to check solutions. The book is intended to train students for programming competitions.

Uploaded by

Sandeep Singh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Preface ix

hands-on experience. Further, it covers several interesting topics that are not
universally included in standard algorithm texts.

• Provides Complete Implementations of Classical Algorithms — Many students


have a difficult time going from abstract algorithm descriptions to working code.
To help them, we provide carefully written implementations of all important al-
gorithms we discuss using a subset of C designed to be easily readable by C++
and Java programmers. Several of our programming challenge problems can be
solved by appropriately modifying these routines, thus providing a concrete path
to get students started.

• Integrated Course Management Environment — We have created a special


course management environment that makes it shamefully easy to administer
such a course, as it will handle all testing and grading for you! Our website
http://www.programming-challenges.com lets you assign problems to students,
maintain rosters, view each student’s score and programs, and even detect
suspicious similarity among their solutions!

• Help for Students at All Levels — The challenges included in this book have
been selected to span a wide range of difficulty. Many are suitable for introduc-
tory students, while others will prove challenging to those ready for international
competition. Hints for most problems are provided.
To help identify the most appropriate problems for any given student, we have
annotated each problem with three distinct measures of difficulty. The popularity
of a problem (A, B, or C) refers to how many people try it, while the success rate
(low to high) measures how often they succeed. Finally, the level of a problem (1
to 4, corresponding roughly from freshman to senior) indicates how advanced a
student needs to be in order to have a fair chance of solving the problem.

To the Coach or Competitor


This book has been particularly designed to serve as a training manual for program-
ming competitions at the high school and collegiate levels. We provide a convenient
summary/reference of important topics in mathematics and algorithms, along with
appropriate challenges to help you master the material.
The robot judge checks the correctness of submitted programs just like the human
judges of the ACM International Collegiate Programming Contest. Once you set up a
personal account with the judge, you can submit solutions written in C, C++, Pascal, or
Java and wait for the verdict announcing success or failure. The judge keeps statistics on
how you are doing, so you can compare yourself to the thousands of other participants.
To help the competitor, we include an appendix with training secrets from finalists
for the three major programming contest venues: the ACM International Collegiate
Programming Contest (ICPC), the International Olympiad in Informatics (IOI), and
the TopCoder Programmer Challenge. We present the history of these competitions,
show how you can get involved, and help you make your best possible showing.

You might also like