Where are good resources to study combinatorics?
Solution 1:
As far as book are concerned, my favorite basic combinatorics books are Basic Techniques of Combinatorial Theory by Daniel I.A. Cohen and Combinatorics and Graph Theory by Harris, Hirst and Mossinghof. Cohen, in particular, is a great resource for questions which will make you think deeply and expand your horizons. Most chapters have well over 70 exercises, ranging from rountine to quite difficult. Since the quality of questions seems paramount to your decision I will include an example exercise from Cohen:
A collection of $n$ lines in the plane are are said to be in general position if no two are parallel and no three are concurrent. Let $a_n$ be the number of regions into which $n$ lines in general position divide the plane. How big is $a_n$?
And this is just the tip of the iceberg. Cohen's book is full of high-quality exercises, most of which have attributions to the originators.
Something that really sets Cohen's treatment of the topic apart from others is the fact that he often gives 2 or 3 different proofs of theorems. Unfortunately, the book is out of print; however, there are still many used copies for sale on Amazon.
Combinatorics and Graph Theory by Harris, Hirst and Mossinghof covers much of the same basic combinatorial material as Cohen. To me, what really sets this book apart is the inclusion of infinitary combinatorics, particularly their treatment of Ramsey theory.
If you are looking for a more advance treatment of combinatorics, then you will find Enumerative Combinatorics by Richard Stanley more than accommodating, with hundreds of difficult exercises, some of which (at least at the time of writing) are unsolved.
Solution 2:
A great book focused mainly on generating functions is generatingfunctionology by H. Wilf. Also, have a look at Peter Cameron's webpage; he has several lecture notes and a link to his book Combinatorics - Topics, Techniques, Algorithms.
Solution 3:
The text "A Walk through Combinatorics" by Miklos Bona is a well-written and understandable introduction, in both my opinion and the opinion of the couple of people who have used it. The book covers a wide range of topics so you can get a taste of many different parts of combinatorics. It has some "core" material basic to enumerative combinatorics as well as basic graph theory, but also has a "Horizons" section with treatments of more advanced (or at least less central) topics like ramsey theory, pattern avoidance in permutations, and algorithmics/computational complexity.
I've also heard that while Stanley's "Enumerative Combinatorics" is a comprehensive, standard book, it is somewhat terse and may not be the easiest to work through on your own.
Solution 4:
Lots of good suggestions here. Another freely available source is Combinatorics Through Guided Discovery. It starts out very elementary, but also contains some interesting problems. And the book is laid out as almost entirely problem-based, so it useful for self study.
Solution 5:
Apart from the book suggestions given here, you may also like to take a look at MIT OCW's Combinatorics: The Fine Art of Counting.
Although designed for High school students, few problems that might make you think.