grep+ found these files to match your search:
p10094.cpp: //hard, math, combinatorics, 8 queens for large n, good, excellent p10559.cpp: //hard, very hard, dp, blocks, good, excellent p775.cpp: //easy, graphs, backtracking, hamiltonian path p11623.cpp: //hard, careful coding, insane input, UNSOLVED: TLE, of all things! p10082.cpp: //easy, trivial, input, io, map, wertyu, good p700.cpp: //medium, math, number theory, chinese remainder theorem, UNSOLVED: need CRT p636.cpp: //easy, good, short, math, number theory, horner, bases, squares, sqrt p11648.cpp: //medium, math, geometry p529.cpp: //hard, backtracking, iterative deepening, branch-and-bound, UNSOLVED: that's hard! p152.cpp: //medium, misc, geometry, closest neighbours, good p599.cpp: //medium, graphs, flood fill, bfs, dfs, connected components p260.cpp: //easy, grids, bfs, dfs, connectivity on a small hexagonal grid p112.cpp: //easy, io, parsing, lisp trees, recursion, recursive p10564.cpp: //medium, dp, path recovery, gotcha p658.cpp: //medium, graphs, shortest path, dijkstra, bitmasks, good, excellent p10807.cpp: //hard, graphs, backtracking, minimum spanning tree p983.cpp: //medium, 2d maximum sum p10592.cpp: //easy, graphs, flood fill, dfs, bfs, image p856.cpp: //medium, decryption, cryptography, vigenere, weird, bad p114.cpp: //easy, simulation, pinball, bad p727.cpp: //multiple input, medium, expression parsing p10855.cpp: //easy, brute force, rotation by 90 p162.cpp: //medium, simulation, cards, deques, lists, datastructures p10439.cpp: //medium, geometry, circle through 3 points p11065.cpp: //hard, brute force, backtracking, branch-and-bound, graphs, maximal independent sets, bitmasks p10116.cpp: //easy, simulation p671.cpp: //multiple input, easy, strings, dictionary, spell checker, set, map p10880.cpp: //easy, math, number theory, factoring p712.cpp: //easy, trivial, io, trees, good, short p10279.cpp: //easy, dfs, flood fill, multiple input, simulation p618.cpp: //medium, simulation, windows, UNSOLVED: weird. WA. p11314.cpp: //medium, math, geometry, calculus p10060.cpp: //easy, geometry, area of a polygon, good p967.cpp: //easy, number theory, sieve of erastosthenes p699.cpp: //easy, trees, recursive, good p594.cpp: //easy, trivial, little endian, big endian, good, short, union, swap, example, excelent p10864.cpp: //medium, geometry, limiting attention to endpoints, flood fill, good p10041.cpp: //easy, math, median, sort, good, excellent p576.cpp: //easy, trivial, io, haiku, haiku review, good, excellent, short, good code, scanf p11559.cpp: //easy, trivial, brute force p10146.cpp: //medium, misc, trees, strings, dictionary, greedy, good p132.cpp: //medium, geometry, polygons, left turn, good p10453.cpp: //medium, palindromes, dp, good p10404.cpp: //medium, dp, game, minimax, variation of nim p11498.cpp: //easy, trivial p11401.cpp: //easy, math p554.cpp: //easy, encryption, caesar cypher, io, output p696.cpp: //medium, math, chess, problem 278, knights, good, excellent, short, sneaky p10626.cpp: //medium, dp, memoization, sneaky, tricky, good p993.cpp: //easy, number theory p11051.cpp: //easy, math, good p193.cpp: //medium, graphs, maximum independent set, heuristics, backtracking p307.cpp: //hard, backtracking, branch-and-bound, partition, bad, UNSOLVED: TLE, obviously p837.cpp: //medium, geometry, endpoints, sets, good, excellent p10586.cpp: //medium, polynomial long division without carries, good p10425.cpp: //easy, geometry, mobile destroyer, UNSOLVED: WA?! p442.cpp: //easy, nice, good, io, parsing, exceptions p209.cpp: //medium, math, careful programming, triangular grid p10254.cpp: //medium, big int, math, dp, combinatorics, towers of hanoi, good p783.cpp: //easy, math, short, tiny, UNSOLVED: WA p903.cpp: //medium, grids, spiral, classic p10243.cpp: //hard, graphs, dp, minimum vertex cover in a tree, good p378.cpp: //easy, geometry, line intersection p11127.cpp: //medium, brute force, backtracking, branch and bound, good p10050.cpp: //easy, trivial, simulation, math, number theory, modular arithmetic, short p10091.cpp: //medium, math, dp, graphs, probability, bad, gotcha, UNSOLVED: p10593.cpp: //hard, dp, squares and rhombi on a grid, good p611.cpp: //multiple input, medium, simulation, sim, deadlock, ipc, macros, UNSOLVED: WA, huge and ugly p428.cpp: //easy, geometry, input p10761.cpp: //easy, output, printf p793.cpp: //multiple input, easy, union-find, good, excellent p560.cpp: //medium, number theory, strings, graphs, bfs, big int, brute force, simulation p373.cpp: //easy, strings, simulation, careful programming, bad, horrible p10170.cpp: //easy, math, good, excellent, short, tiny, great first problem p10304.cpp: //medium, dp, trees, optimal binary search tree, bst, huffman, UNSOLVED: too slow, need O(n^2) p459.cpp: //multiple input, easy, graphs, trivial, dfs p11577.cpp: //trivial, brute force p587.cpp: //easy, doubles, treasure, io, printf, getline, scanf, anal input p11516.cpp: //medium, dp, binary search, scanline, intervals covering points p259.cpp: //hard, graphs, bipartite matching p757.cpp: //hard, dp, good, efficiency, fishing p391.cpp: //medium, parsing, io, dfa, fsm, fsa, bad p10494.cpp: //medium, math, big int, multiplication and remainder p10664.cpp: //easy, partition, coins, dp, good p173.cpp: //easy, parsing, graphs, simulation, bad, UNSOLVED: another messed up graph-based simulation p253.cpp: //easy, permutation, nice trick p11082.cpp: //medium, graphs, maximum flow, matrix row and column sums, bad, confusing, the problem setter lies p10045.cpp: //easy, simulation, strings, echo strings, brute force, short p11582.cpp: //medium, math, number theory, fibonacci p591.cpp: //easy, trivial, good, excellent, short p10187.cpp: //medium, bfs, graphs, shortest path, tricky p11679.cpp: //easy, brute force p11056.cpp: //easy, sorting, bad, undefined p661.cpp: //easy, trivial, simulation p11087.cpp: //medium, efficiency, fast input p698.cpp: //easy, parsing, gotcha p190.cpp: //medium, geometry, circle through 3 points, good, excellent p648.cpp: //easy, partition, dp, ugly, UNSOLVED: ugly, confusing, stupid and demented p11375.cpp: //medium, big int, dp, digits p596.cpp: //medium, geometry, convex hull, graham scan, UNSOLVED: can't be judged p11753.cpp: //medium, dp, palindromes, lcs, longest common subsequence, clever, good, excellent p10600.cpp: //medium, graphs, mst, kruskal's, 2 smallest spanning trees, good, excellent p383.cpp: //medium, bfs, graphs p10523.cpp: //medium, big int, io, addition, multiplication, printf p928.cpp: //medium, bfs, shortest path, careful coding p11734.cpp: //easy, trivial, input p10317.cpp: //medium, math, dp, brute force, partition, coins, UNSOLVED: do this! I'm tired now. Careful with TLE. p441.cpp: //easy p10427.cpp: //easy, short, math, number theory, good p325.cpp: //medium, fsa, fsm, dfa, parsing, io, float parsing, scientific notation p327.cpp: //medium, parsing, expressions p659.cpp: //easy, geometry, ray tracing, circle ray reflection, UNSOLVED: hmmm... WA p109.cpp: //hard, geometry, convex hull, area of a polygon, point in polygon, long p501.cpp: //medium, simulation, set, iterators, datastructure p10226.cpp: //medium, map, datastructure, fast input, fast strings p11125.cpp: //medium, dp, gotcha p776.cpp: //medium, flood fill, bfs, optimization p11524.cpp: //medium, geometry, good p298.cpp: //easy, graphs, bfs, shortest path p10227.cpp: //easy, multiple input p11136.cpp: //medium, multiset, efficiency, insane input p10393.cpp: //easy, simulation, map, bad p11701.cpp: //UNSOLVED, easy, math p11565.cpp: //easy, brute force, evil p355.cpp: //medium, bad p10341.cpp: //medium, binary search p10326.cpp: //easy, math, polynomial multiplication p10680.cpp: //hard, dp, math, number theory, lcm, last nonzero digit, sieve, primes p795.cpp: //easy, cryptography, io, sandorf's cypher p468.cpp: //multiple input, medium, maps, frequency analysis p138.cpp: //easy, brute force, precomputation, no input p642.cpp: //easy, short, anagrams, map, sort p10281.cpp: //easy, io, scanf, printf p676.cpp: //easy, simulation, maze walk p11721.cpp: //hard, very hard, graphs, negative-weight cycles, bellman-ford, optimization, UNSOLVED: TLE p10538.cpp: //medium, brute force, backtracking, magic squares p422.cpp: //easy, word puzzle p439.cpp: //medium, graphs, bfs p10188.cpp: //easy, parsing, gotcha, good, excellent p911.cpp: //medium, number theory, binomial coefficients, good p10117.cpp: //medium, geometry, cut polygon, cookies in milk p10357.cpp: //easy, simulation, math p10288.cpp: //medium, rational, math, probability, expected value, dp, good p10730.cpp: //medium, math, antiarithmetic permutations p535.cpp: //medium, geometry, great circle, good, excellent p914.cpp: //medium, number theory, sieve p11749.cpp: //medium, gs, bfs, greedy, evil p11403.cpp: //easy, tedious, simulation, bad p155.cpp: //easy, recursive, recursion, short p10052.cpp: //medium, graphs, greedy, bfs, dfs, 4-colouring, 4-colourability, colours, bad, judge is wrong, UNSOLVED: NP-hard with n=300 !!?!? p10092.cpp: //hard, graphs, bipartite matching, maximum flow p10055.cpp: //easy, trivial, math, ridiculously easy, gotcha, good, careful reading p10145.cpp: //multiple input, easy, simulation p104.cpp: //medium, dp, arbitrage, good p218.cpp: //hard, geometry, convex hull p10048.cpp: //medium, graphs, mst, minimum spanning tree, union-find, good, excellent p843.cpp: //hard, backtracking, brute force, cypher, encryption, decryption, UNSOLVED: need better pruning or a different approach p563.cpp: //hard, escape problem, maximum flow, graphs, efficiency p10034.cpp: //medium, graphs, mst, minimum spanning tree, union-find, kruskal's, prim's, good p11089.cpp: //medium, recursive, recursion, math p11503.cpp: //medium, graphs, union-find, classic p10558.cpp: //medium, dp, UNSOLVED: Derek's problem... 100^3 is too slow. p10734.cpp: //medium, misc, gcd, brute force, geometry, good, excellent\ p613.cpp: //easy, math, simulation, kronecker p656.cpp: //medium, simulation, brute force, optimal programs, UNSOLVED: too slow p11052.cpp: //medium, dp p346.cpp: //easy, bad, brute force p10733.cpp: //hard, math, combinatorics, colouring a cube, good, short p11588.cpp: //easy, trivial p10530.cpp: //easy, trivial, game, guessing game p10075.cpp: //medium, graphs, geometry, all-pairs shortest path, floyd-warshall, geodesic distance, great circle, good p105.cpp: //medium, misc, geometry, skyline, rectangle intersection, cases, good, excellent p471.cpp: //multiple input, medium, math, number theory, optimization, fast io p812.cpp: //easy, shortest path-like, good p10881.cpp: //easy, map, sorting, math p11175.cpp: //hard, graphs, directed line graph recognition p537.cpp: //easy, parsing, input, getline, good p747.cpp: //medium, dp, shortest path, dfs, cute, UNSOLVED: perhaps I gave up too soon p10724.cpp: //medium, graphs, all-pairs shortest path, floyd-warshall, good, excellent p153.cpp: //medium, math, permutations, recursive, recursion, good, excellent p10209.cpp: //easy, math, geometry, inclusion-exclusion principle, short, tiny, good, excellent p386.cpp: //medium, stable sort, trickys p667.cpp: //multiple input, hard, geometry, shadows, UNSOLVED: I suck at hard geometry problems. p628.cpp: //easy, io, ugly, bad, poorly defined, confusing p11418.cpp: //medium, graphs, bipartite matching p11500.cpp: //medium, math, probability, iteration, linear system p10403.cpp: //medium, brute force, coin weighings, optimization, very time-critical!, UNSOLVED: way too slow p10827.cpp: //hard, maximum submatrix sum on a torus, classic, good, excellent, UNSOLVED: hmm... why WA? p614.cpp: //medium, graphs, maze, dfs, simulation, pretty output, good p562.cpp: //easy, partition, np-complete, dp, coins p744.cpp: //medium, simulation, triangular grids, greedy, careful programming p11569.cpp: //easy, brute force, backtracking p401.cpp: //easy, strings p11506.cpp: //hard, graphs, max flow, min cut p10826.cpp: //hard, dp, good p11061.cpp: //medium, dp, probability, precomputation, good p11744.cpp: //easy, binary arithmetic, simulation p334.cpp: //medium, graphs, transitive closure, floyd-warshall, bad p10169.cpp: //medium, math, probabilities, log, UNSOLVED: one of us is on crack p314.cpp: //medium, graphs, bfs, shortest path p585.cpp: //medium, dp, triangle grid p11600.cpp: //hard, dp, graphs, probability p11153.cpp: //hard, dp, traveling salesman, bitmasks p561.cpp: //medium, misc, math, short, good p10373.cpp: //medium, knapsack, dp, coins p11639.cpp: //easy, rectangle intersection p10703.cpp: //medium, limiting attention to endpoints, space not covered by a union of rectangles, classic, good p385.cpp: //easy, boring, dna p433.cpp: //medium, parsing, ugly, long p11526.cpp: //medium, math, number theory p321.cpp: //medium, shortest path, bfs, bitmasks p11044.cpp: //easy, trivial, math, short p11086.cpp: //medium, sieve, factoring p10507.cpp: //medium, graphs, simulation p10129.cpp: //easy, graphs, euler path existence p836.cpp: //medium, grids, maximum sub-matrix, largest sub-matrix p10038.cpp: //easy, trivial, datastructure, array p11408.cpp: //medium, number theory, sieve p10710.cpp: //medium, math, number theory, modular arithmetic, pseudoprimes, useful, good, excellent p10228.cpp: //medium, tricky, sneaky, optimization p345.cpp: //medium, graphs, resistors, resistance, resistor networks, iterativie, good p861.cpp: //hard, backtracking, non-attacking bishops p850.cpp: //easy, strings, decryption, cryptography p10497.cpp: //medium, math, number theory, combinatorics, inclusion-exclusion principle p10381.cpp: //hard, flood fill, brute force, tricky, good, excellent, UNSOLVED: no idea how to do it p196.cpp: //medium, simulation, misc, spreadsheet evaluation, good p10422.cpp: //medium, brute force, backtracking, game p10616.cpp: //hard, dp, coins, mod, good, excellent p10684.cpp: //medium, maximum subarray sum, maximum sum, classic, short p10098.cpp: //easy, next_permutation, sorting, short p408.cpp: //easy, trivial, number theory, short, 4 lines, gcd p10000.cpp: //medium, modified bfs, graphs, bfs, longest path p10293.cpp: //easy, input, parsing, dfa, fsa, fsm, map, word frequency p11532.cpp: //easy, bitmasks, binary integers, greedy p477.cpp: //easy, oop, good, geometry, pure virtual functions, see p478 p358.cpp: //medium, math, geometry, binary search, bad, UNSOLVED: probably a precision bug in the judge's data p369.cpp: //easy, pascal's triangle, math, nice overflow trick p10286.cpp: //easy, trivial, short, math, geometry p10790.cpp: //medium, math, combinatorics, good, excellent p10863.cpp: //hard, graphs, steiner tree, brute force, bfs, spanning tree, careful reading p10701.cpp: //easy, trees, preorder, inorder, postorder traversal, classic, good, excellent p10099.cpp: //medium, graphs, mst, minimum spanning tree, prim, kruskal, good, excellent p11360.cpp: //easy, trivial, simulation p10464.cpp: //medium, big int, addition, subtraction p828.cpp: //easy, encryption, decryption, cryptography, sneaky, good p11115.cpp: //medium, math, combinatorics, big int, evil p405.cpp: //easy, simulation p247.cpp: //medium, graphs, scc, strongly connected components, floyd-warshall, transitive closure p11004.cpp: //medium, geometry, math, linear algebra p11058.cpp: //easy, simulation p10610.cpp: //medium, graphs, shortest path, mst, kruskal's, bfs, doubles, input, getline, good, excellent p834.cpp: //medium, math, number theory, continued fractions, good, excellent p10443.cpp: //medium, rock paper scissors p10717.cpp: //easy, math, number theory, lcm, gcd, brute force p103.cpp: //medium, lis, longest increasing subsequence, dp p520.cpp: //medium, binary search p11547.cpp: //easy, trivial p10268.cpp: //easy, horner's rule, good, excellent p598.cpp: //multiple input, easy, combinatorics, subsets, recursion p654.cpp: //medium, math, number theory, gcd, rational, doubles, rational approximating sequence, bad p10777.cpp: //easy, math, probability p445.cpp: //easy, trivial p10359.cpp: //medium, big int, dp, math, combinatorics, good p652.cpp: //multiple input, hard, brute force, fifteen, 15, pyatnashki, bad, wrong judge p178.cpp: //easy, cards, simulation p143.cpp: //hard, geometry, line intersection, bad, horrible p714.cpp: //hard, very hard, dp, binary search, copying books, good, excellent p410.cpp: //medium, brute force, branch and bound, good, excellent p457.cpp: //multiple input, easy, 1d conway's game of life, simulation p796.cpp: //medium, graphs, dfs, bridge detection, good, excellent p487.cpp: //multiple input, medium, graphs, good dfs, enumerating all paths, memoization p10390.cpp: //easy, simulation, input p575.cpp: //easy, math, number theory, skew binary, base conversion, horner, short, good, excellent, tiny p11650.cpp: //easy, careful coding, mirrored clock p11624.cpp: //medium, bfs, shortest path in a maze p539.cpp: //medium, graphs, brute force, backtracking, longest path p11505.cpp: //easy, geometry, simulation p640.cpp: //medium, short, good, math, number theory, sieve, memoization, dp, no input p10200.cpp: //easy, math, number theory, primality testing, array integration, rounding p10419.cpp: //medium, primes, dp, partition, goldbach, UNSOLVED: times out p10696.cpp: //medium, math, recursive function, short, tiny, good p11177.cpp: //hard, geometry, binary search, intersection of a convex polygon and a circle, UNSOLVED: no time p10678.cpp: //easy, trivial, geometry, short, tiny p545.cpp: //medium, math, big int, good p10190.cpp: //easy, division, careful reading, gotcha, good, excellent p10587.cpp: //medium, scanline, sorting, intervals, classic, good, excellent p10223.cpp: //medium, precomputation, catalan numbers p622.cpp: //medium, parsing, expression evaluation, dfa, fsa, fsm, bad, poorly defined p380.cpp: //easy, simulation p689.cpp: //medium, strings, palindromes, good, excellent, parsing, grammars p491.cpp: //hard, math, combinatorics, polyominoes p729.cpp: //multiple input, easy, subsets, brute force, stefan's tutorial p10604.cpp: //hard, dp, bitmasks p100.cpp: //easy, memoization p10245.cpp: //hard, computational geometry, closest pair of points, classic, gotcha p191.cpp: //medium, geometry, line segment intersection, rectangle clipping p10420.cpp: //easy, trivial, getline, io p10602.cpp: //medium, greedy, sorting p278.cpp: //easy, trivial, chess, math p10309.cpp: //hard, greedy, turn the lights off, classic, good, excellent p11148.cpp: //easy, parsing, gcd p10510.cpp: //medium, graphs, cactus, strongly connected, cycles, dfs, good, excellent p10385.cpp: //medium, geometry, ternary search p127.cpp: //hard, simulation, cards, speed, optimization, insane input p357.cpp: //easy, coins, dp, good, short p728.cpp: //medium, careful coding, plotting p169.cpp: //easy, brute force, bad, horrible, UNSOLVED: bad problem description p880.cpp: //easy, trivial, math, cantor fractions p11053.cpp: //medium, math, Pollard rho p11116.cpp: //easy, geometry, evil p10529.cpp: //medium, math, probability, falling dominoes, good, excellent p10191.cpp: //easy, geometry, intervals, longest free interval p10339.cpp: //easy, math, number theory, lagging clocks, short, tiny p625.cpp: //multiple input, easy, parsing, dfa, fsm, fsa, io, good, on-the-fly p11090.cpp: //hard, graphs, shortest path, dp, binary search, good, gotcha p526.cpp: //medium, dp, lcs, longest common subsequence, string distance, classic p10452.cpp: //easy, trivial, simulation, following instructions p10780.cpp: //medium, math, number theory, factorials, classic, good, excellent p10656.cpp: //easy, trivial, short, wtf?! p10723.cpp: //medium, dp, shortest common supersequence, gotcha, good, excellent p10515.cpp: //easy, math, number theory, exponents, euler phi, good, excellent p10421.cpp: //easy, greedy, critical wave p11509.cpp: //easy, geometry p808.cpp: //medium, bee numbers, grids, classic p108.cpp: //medium, misc, 2d maximum sum, maximum sub-rectangle, short, good, excellent p10747.cpp: //hard, greedy, maximum-product subsequence, careful programming, good, UNSOLVED: WA: missing a case p10957.cpp: //medium, brute force, branch and bound, sudoku p10653.cpp: //easy, bfs, classic, good, excellent p10598.cpp: //easy, math, geometry, latitude, polar bear walk problem, good, short p202.cpp: //easy, number theory, long division, decimal expansion p567.cpp: //easy, shortest path, floyd-warshall, graphs, all pairs shortest path, unweighted p866.cpp: //medium, geometry, line segment intersection p11603.cpp: //hard, graphs, all pairs maximum flow, max flow, mst, minimum spanning tree, bottleneck tree p464.cpp: //easy, map, natural language generation, long p543.cpp: //easy, number theory, sieve, goldbach p11172.cpp: //easy, trivial p10352.cpp: //medium, sorting, strings, simulation, bad, horrible, false description p719.cpp: //hard, ridiculously hard, strings, misc, glass beads, good, excellent, UNSOLVED: n*sqrt(n)*log(n) is too slow?! p11083.cpp: //medium, math, number theory, good p10436.cpp: //medium, graphs, shortest path, dijkstra p11520.cpp: //easy, trivial, brute force p474.cpp: //easy, trivial, math, printf, io p694.cpp: //easy, math, collatz sequence, 3n+1 problem, problem 100, simulation, memoization, exceptions, cute p11412.cpp: //easy, brute force, simulation, mastermind, bad p607.cpp: //medium, dp, good, UNSOLVED: O(n^3) is too slow p573.cpp: //easy, simulation p10337.cpp: //easy, dp, classic p188.cpp: //easy, math, perfect hashing, following instructions, educational, good, excellent p406.cpp: //easy, number theory, primes, sieve, fast input, fast output, fast io p11132.cpp: //easy, trivial, bad, horrible p11043.cpp: //medium, simulation, bitmasks, good p10340.cpp: //easy, trivial, short p821.cpp: //medium, graphs, shortest path, floyd-warshall p414.cpp: // easy, trivial p10258.cpp: //easy, sorting, simulation, gotcha p681.cpp: //medium, geometry, convex hull, graham's scan, good, excellent p251.cpp: //easy, simulation, dp, UNSOLVED: I don't understand sample output. p10745.cpp: //hard, strings, brute force p920.cpp: //medium, geometry, sorting, scanline p400.cpp: //easy, io p11522.cpp: //medium, math, number theory p547.cpp: //easy, memoization, dp, number theory, perfect numbers, factors, gotcha p10669.cpp: //medium, big int, math, binary numbers, good p404.cpp: //easy, simulation, math, careful reading, gotcha p10110.cpp: //medium, math, number theory p10056.cpp: //easy, math, probability, infinite series, short p11369.cpp: //easy, trivial, greedy, sorting p11535.cpp: //medium, gray codes, grey codes, bitmasks p10432.cpp: //easy, geometry, math, polygon in circle, short, tiny p10683.cpp: //easy, trivial, math, good, short, tiny p507.cpp: //easy, fast io, 1d maximum sum p106.cpp: //hard, super hard, math, number theory, dp, pythagorean triples, pythagoras p10581.cpp: //medium, math, dp, partitions, lexicographic, recursive p10152.cpp: //medium, sorting, shell sort, map, good, excellent p11118.cpp: //hard, math, permutations, probability, short p688.cpp: //medium, geometry, doubles, total area of a set of rectangles, good, excellent p11110.cpp: //easy, bfs, flood fill p832.cpp: //easy, trivial, careful reading p11126.cpp: //hard, dp, memory efficiency p11307.cpp: //medium, dp, trees p1001.cpp: //medium, graphs, shortest path, geometry, sphere intersection p558.cpp: //medium, graphs, shortest path, cycle detection, dfs p11112.cpp: //easy, confusing p10406.cpp: //meduim, geometry, line intersection, good p820.cpp: //hard, graphs, maximum flow, good, excellent p10303.cpp: //hard, math, big int, combinatorics, catalan numbers, short, good p10244.cpp: //hard, math, iterative, backtracking, ouroboros numbers, de bruijn sequence, classic p11552.cpp: //easy, dp p10033.cpp: //easy, simulation, assembly execution p10563.cpp: //medium, greedy, UNSOLVED: needs some test cases, but should be right. p10148.cpp: //hard, greedy, range tree, classic, scanline, sorting, good, excellent, UNSOLVED: segfault!???!?!? p10123.cpp: //medium, dp, good p11536.cpp: //medium, scanline p183.cpp: //medium, recursive, quad trees, bitmaps, good p122.cpp: //easy, trees, level traversal, bfs, smart solution, good, excellent p353.cpp: //easy, brute force, strings, palindromes, number of palindromic substrings p362.cpp: //easy, simulation, queue p1010.cpp: //medium, graphs, shortest path, Dijkstra's p10068.cpp: //hard, good, shortest path, dijkstra, path recovery, UNSOLVED: spent 3 day on this little bugger p10027.cpp: //hard, grammars, bfs, dfs, efficiency, recursive grammar cardinality, UNSOLVED: too slow p10063.cpp: //easy, permutations, follow the rules, recursion, recursive p743.cpp: //easy, productions, recursive, turing machines, theoretical cs, languages, exceptions, good p389.cpp: //easy, horner, math, number theory, io, printf p10250.cpp: //medium, geometry, parallelograms and squares, short, good, excellent p10750.cpp: //hard, computational geometry, closest pair of points, classic, good, excellent p577.cpp: //medium, simulation, windows, geometry, rectangles, long, good p11047.cpp: //medium, graphs, all-pairs shortest path, floyd-warshall, path recovery, input, getline, bad p10344.cpp: //medium, permutation, brute force p10906.cpp: //medium, parsing p10313.cpp: //medium, good dp p435.cpp: //hard, dp, coins, partition, banzhaf power index, good, excellent p10462.cpp: //medium, graphs, mst, minimum spanning tree, second mst p524.cpp: //easy, math, number theory, brute force, recursive p440.cpp: //easy, number theory, brute force once p11113.cpp: //hard, big int, division, math, continued fractions, output p548.cpp: //medium, trees, binary tree reconstruction, bottom-up, good, excellent p10818.cpp: //hard, graphs, dp, shortest path, hamiltonian path, traveling salesman p10196.cpp: //easy, game, chess, who is in check?, good p10044.cpp: //medium, io, scanf, graphs, bfs, erdos numbers p494.cpp: //easy, trivial, parsing p909.cpp: //medium, dp, bitpack compression, UNSOLVED: what. p11636.cpp: //easy, trivial p825.cpp: //easy, dp, number of right-down paths, good, excellent p10397.cpp: //medium, graphs, mst, kruskal's, good p467.cpp: //easy, brute force, getline p11356.cpp: //medium, ugly, dates, calendar, tedious p766.cpp: //multiple input, hard, math, gcd, binomial coefficients, combinatorics p11137.cpp: //easy, dp, coins p10446.cpp: //easy, math, dp, counting the number of time a recursive function is called, bad p10511.cpp: //hard, maximum flow, ford-fulkerson, efficiency p10042.cpp: //medium, math, number theory, primes, primality, smith numbers p840.cpp: //easy, graphs, cycle detection, dfs, bfs, bad p10707.cpp: //medium, geometry, rotation, flood fill p11604.cpp: //medium, bfs, bitmasks, ambiguous codings p11508.cpp: //medium, math, permutations, graphs, good p10306.cpp: //medium, partition, dp, coins in 2d, good, excellent p409.cpp: //easy, parsing p473.cpp: //hard, iterative dp p10993.cpp: //hard, math, number theory, graphs, bfs p10689.cpp: //easy, math, fibonacci numbers, linear algebra, successive squaring p199.cpp: //easy, math, linear algebra, boundary value problems, useful p10646.cpp: //easy, trivial, simulation, cards p306.cpp: //hard, math, combinatorics, number theory, permutations, permutation cycles, successive squaring p10555.cpp: //hard, math, decimal fractions, decimal expansions, tricky, good p434.cpp: //medium, greedy, misc, good, excellent p10851.cpp: //easy, trivial, binary numbers, ascii p444.cpp: //easy p11549.cpp: //easy, brute force, simulation p374.cpp: //easy, successive squaring, number theory, math, very short, mod p10136.cpp: //medium, geometry, io, getline, max points in a circle of fixed radius, good, UNSOLVED: PE? PE?!?!!!?! p10014.cpp: //medium, math, linear algebra, matrices, linear systems p627.cpp: //medium, graphs, shortest path, floyd-warshall, bfs p11452.cpp: //easy, brute force p10433.cpp: //hard, math, number theory, big int, efficiency, precomputation, good, excellent p10171.cpp: //medium, graphs, shortest path, dijkstra, bellman-ford, good p10633.cpp: //easy, math, good, excellent p10888.cpp: //medium, bfs, shortest path, brute force, weighted matching, hungarian algorithm p11011.cpp: //easy, recursive, math, simulation p11677.cpp: //easy, trivial, short p156.cpp: //easy, anagrams, sorting p10817.cpp: //hard, dp, bitmasks, good p387.cpp: //medium, backtracking, bitmasks, puzzle, UNSOLVED: WA?! p10741.cpp: //easy, simulation, math, magic cubes, spacial thinking, good, excellent p645.cpp: //easy, trees, directory structure, io p10788.cpp: //medium, dp, parsing, parentheses, classic, good p177.cpp: //medium, misc, fractals, paper folding, output, good, excellent p10533.cpp: //medium, math, number theory, primes, sieve p10025.cpp: //multiple input, medium, math, number theory, good p126.cpp: //medium, dfa, fsa, fsm, io, polynomials, multiplication, good, excellent p10442.cpp: //medium, parsing, math, bases, horner, tricky p10583.cpp: //medium, graph, union-find, good p10454.cpp: //hard, parsing, dp, trees, catalan numbers p11683.cpp: //easy, linear scan, good p11069.cpp: //medium, math, dp, short, good p10700.cpp: //medium, dp, math, maximum expression value among all parenthisations p276.cpp: //easy, parsing, careful programming, good p164.cpp: //medium, dp, lcs, longest common subsequence, bad, wrong judge p465.cpp: //easy, optional big int p10007.cpp: //medium, math, dp, big int, catalan numbers p633.cpp: //medium, shortest path, bfs, chess, weird knight moves p10382.cpp: //medium, geometry, greedy, scanline, sorting, good p10389.cpp: //hard, graphs, shortest path, dijkstra, good, excellent p10368.cpp: //medium, minimax, math, number theory, game, euclid's algorithm, gcd p10040.cpp: //hard, math, backtracking, greedy, ouroboros snake, de bruijn sequence, classic, good p446.cpp: //easy, io, scanf p892.cpp: //medium, parsing, isolating words in text p11128.cpp: //medium, brute force, UNSOLVED: TLE p10176.cpp: //easy, math, divisibility, horner's rule, io, input, good, excellent, short p860.cpp: //easy, map, datastructure p125.cpp: //hard, graphs, bfs, floyd-warshall, number of paths, good, excellent p10496.cpp: //easy, brute force, hamiltonian path, next_pemutation p11062.cpp: // p784.cpp: //easy, flood fill, weird input p432.cpp: //easy, simulation p10394.cpp: #includep498.cpp: //easy, trivial, horner, polynomial evaluation p11180.cpp: //easy, base conversion, complex numbers p10522.cpp: //medium, math, triangle area from heights p10043.cpp: //hard, grids, geometry, largest rectangle in forest, classic, good, excellent p11601.cpp: //medium, bit masks, rectangles p215.cpp: //medium, parsing, spreadsheet evaluation p10490.cpp: //easy, math, number theory, perfect numbers, precomputation p227.cpp: // easy, io, getline, bad, simulation p695.cpp: //medium, brute force, parsing, bad p10813.cpp: //easy, simulation, bingo p10450.cpp: //easy, memoization, fibonacci, math p10049.cpp: //medium, math, dp, binary search, self-describing sequence, good, excellent, short p709.cpp: //medium, dp, justifying text, word processor, good p10424.cpp: //easy, trivial p448.cpp: //easy, io, scanf, parsing, bitwise p10729.cpp: //hard, graphs, tree isomorphism, UNSOLVED: WA. I don't understand something. p407.cpp: //medium, dfs p336.cpp: //easy, bfs, shortest path, bad p10126.cpp: //easy, map, io, parsing, reading the problem, good p679.cpp: //easy, math, binary trees, good, short, excellent, recursive, misc p11742.cpp: //easy, brute force p579.cpp: //easy, math, geometry, short, clock hand angles, integers, excellent p10035.cpp: //easy, trivial, math, number theory, misc, number of carries in addition, good, short p10735.cpp: //hard, graphs, euler cycle, maximum flow, classic, good, excellent p10189.cpp: //easy, minesweeper, good p11100.cpp: //easy, greedy, sorting p119.cpp: //easy, trivial, good, excellent p601.cpp: //easy, graphs, dfs, path game, memoization, dp p429.cpp: //multiple input, medium, shortest path, bfs p10141.cpp: //easy, trivial, io, getline, good, excellent, useless input p151.cpp: //medium, misc, josephus, brute force, precomputation p255.cpp: //hard, misc, game, simulation, good, careful coding p10606.cpp: //hard, math, big int, square root, UNSOLVED: insane input p756.cpp: //hard, math, number theory, crt, chinese remainder theorem, short p753.cpp: //multiple input, hard, graphs, maximum flow p11450.cpp: //easy, dp, coins p572.cpp: //easy, dfs, flood fill p275.cpp: //easy, math, number theory, decimal expansions, fractions, classic, good, excellent p10539.cpp: //medium, math, number theory, primes, sieve, prime powers, binary search, good, excellent p10849.cpp: //easy, trivial, chess, bishop moves p10219.cpp: //easy, math, number theory, combinatorics, short, binomial coefficient, n choose k, good p847.cpp: //easy, minimax, memoization, game p419.cpp: //easy, greedy, simulation, dates, UNSOLVED: boring. p11762.cpp: //medium, dp, sieve p902.cpp: //medium, map, strings, efficiency p10017.cpp: //medium, math, recursion, recursive, towers of hanoi p10157.cpp: //hard, math, dp, big int, parenthesized expressions, good, UNSOLVED: BigInt is too slow; long double is too wrong. p544.cpp: //medium, graphs, one-path maximum flow, modified kruskal p11415.cpp: //medium, sieve, number theory, binary search p11022.cpp: //medium, dp p10489.cpp: //easy, trivial, short, math, number theory, modular arithmetic p451.cpp: //multiple input, easy, poker p10831.cpp: //medium, math, number theory, modular square root, legendre symbol p10067.cpp: //medium, graphs, bfs, shortest path, implicit graph p11183.cpp: //hard, very hard, graphs, minimum weight arborescence p500.cpp: //multiple input, UNSOLVED: can't test this, no input given. p458.cpp: //easy, trivial, good, encryption, easiest ever p10801.cpp: //medium, graphs, single-source shortest path, bellman-ford, dijkstra p11170.cpp: //easy, math p10731.cpp: //medium, graphs, simulation, sorting, floyd-warshall, transitive closure, UNSOLVED: WA. I hate Gordon's problems. p10259.cpp: //medium, dp, graphs, topological sort, bfs, dfs, careful reading, good, excellent p10310.cpp: //easy, printf, io, doubles p10360.cpp: //hard, smart brute force, grids, array integration, good p485.cpp: //medium, big int, pascal's triangle p10784.cpp: //medium, math, combinatorics, binary search, good, excellent p10822.cpp: //medium, graphs, dfs, greedy, adjacency list p908.cpp: //medium, graphs, mst, minimum spanning tree, dfs, bad p10872.cpp: //hard, math, combinatorics, dp, short, tiny p200.cpp: // medium, graph, transitive closure, trick p135.cpp: //hard, math, algebra, greedy p10877.cpp: //medium, rolling dice, bad p10853.cpp: //medium, math, nim with lower limits, good, excellent, UNSOLVED: working on it... p10022.cpp: //medium, math, triangular grid p10552.cpp: //easy, datastructure, graphs, ancestors, genealogy, UNSOLVED: WA p10199.cpp: //medium, graphs, critical vertices, union-find, good, excellent p11309.cpp: //easy, trivial, brute force p11525.cpp: //medium, math, combinatorics, permutations, datastructures, bst p677.cpp: //easy, graphs, k-paths, false matrix powers, forgetting dfs, good p290.cpp: //medium, big int, addition p11355.cpp: //medium, geometry, polar coordinates, scanline p759.cpp: //medium, roman numerals, good, excellent, useful p10107.cpp: //medium, online median, on-line median, good p10577.cpp: //medium, geometry, circle through 3 points p844.cpp: //easy, simulation, game, good p10875.cpp: //medium, parsing, io, tricky, careful reading, evaluating expressions p748.cpp: //medium, big int, multiplication, exponentiation, good p10611.cpp: //easy, binary search, good p10652.cpp: //medium, geometry, convex hull, polygon area, area of a polygon p10428.cpp: //hard, math, calculus, binary search, polynomial equations, classic p302.cpp: //medium, graphs, euler path, input, good p141.cpp: //brute force, memoization, game, simulation p634.cpp: //medium, geometry, point in polygon, funny p10051.cpp: //medium, dp, clean dp, good p10249.cpp: //hard, greedy, good, excellent p11404.cpp: //hard, dp, iterative dp, palindromes, recovery, efficiency p300.cpp: //easy, math, maya calendar, careful coding p10142.cpp: //medium, datastructures, elections, stv, single transferable voting, efficiency p305.cpp: //medium, brute force, precomputation p10080.cpp: //hard, graphs, bipartite matching, maximum flow p175.cpp: //medium, input, parsing p211.cpp: //medium, backtracking, carreful programming, good p11574.cpp: //medium, geometry, line circle intersection, circle line intersection p270.cpp: //hard, geometry, maximum number of collinear points, efficiency, hashtable, classic, good p11124.cpp: //medium, parsing, quick select, randomized select, kth_element, nth_element, good, excellent p767.cpp: //multiple input, easy, graphs, bfs, shortest path p11108.cpp: //easy, brute force p10131.cpp: //medium, dp, longest increasing subsequence, lis, good p674.cpp: //easy, coins, classic dp, good dp, good, short p10474.cpp: //easy, datastructure, integrated array p10451.cpp: //easy, math, geometry, regular polygons p11556.cpp: //easy, trivial, short p10423.cpp: //easy, math, number theory p10396.cpp: //medium, math, brute force, precomputation p11055.cpp: //easy, math, good, permutations, good, excellent p11770.cpp: //medium, graphs, scc, arborescence, strongly connected components p11550.cpp: //easy, trivial, graph theory p393.cpp: //hard, graphs, shortest path, geometry, line segment intersection p10305.cpp: //medium, sorting, transitive closure, floyd-warshall, dag ordering, dag sorting p644.cpp: //easy, huffman, brute force, prefix p312.cpp: //medium, misc, crossword cell numbering p10483.cpp: //medium, math, misc p639.cpp: //medum, brute force, big manipulation p10122.cpp: //hard, graphs, geometry, binary search, bipartite matching, bpm, UNSOLVED: wah-wah! p10047.cpp: //medium, graphs, bfs, shortest path, maze, good p11407.cpp: //medium, dp, coins, math, number theory p10642.cpp: //easy, trivial, math, cantor's diagonalization p10127.cpp: //easy, math, number theory, horner's rule, all ones multiples, short, tiny, good, excellent p10754.cpp: //medium, math, successive squaring, linear algebra, number theory p630.cpp: //multiple input, easy, anagrams, sort, map, short p10609.cpp: //medium, geometry, fractals p488.cpp: //easy, trivial, output p10232.cpp: //medium, combinatorics, permutations, binomial coefficients, good p10528.cpp: //easy, music, major scales p10221.cpp: //easy, geometry, bad p348.cpp: //medium, dp, matrix chain multiplication, classic, good, excellent p10721.cpp: //medium, dp, good, combinatorics p288.cpp: //hard, big int, successive squaring p10850.cpp: //easy, simulation, graphs p352.cpp: //easy, trivial, dfs, flood fill p158.cpp: //medium, calendar, simulation, stable sort, binary search, bad, horrible p462.cpp: //easy, cards p10705.cpp: //medium, math, binary numbers, good p221.cpp: //medium, geometry, painting, sorting, scanline, limiting attention to endpoints p455.cpp: //multiple input, easy, trivial, strings, see 10298 p381.cpp: //easy, simulation p11185.cpp: // p11072.cpp: //hard, geometry, convex hull, sorting, UNSOLVED: probably dies on some boundary case. p593.cpp: //medium, graphs, simulation, networks, UNSOLVED: too slow p988.cpp: //easy, graphs, number of paths in a dag, memoization p711.cpp: //hard, dp, partition, good, excellent p623.cpp: //medium, big int, factorial p924.cpp: //medium, graphs, bfs, shortest path, good, excellent, gotcha p962.cpp: //medium, brute force, precomputation, good, excellent p10803.cpp: //easy, graphs, all-pairs shortest path, floyd-warshall p10520.cpp: //easy, memoization, dp p813.cpp: //hard, geometry, rotation in 3D, UNSOLVED: strange. I got this during the contest... p584.cpp: #include p10054.cpp: //medium, graphs, euler cycle, good, excellent p566.cpp: //medium p735.cpp: //easy, brute force p10079.cpp: //easy, math, geometry, cutting pizza with straight lines, triangular numbers, short, tiny, good, excellent p751.cpp: //dp, memoization, game, triangle war, dots and boxes p10391.cpp: //medium, strings, datastructures, set, dictionary, efficiency, good p927.cpp: //medium, math, tricky, good, short p538.cpp: //medium, misc, transfering money to balance debts, greedy, good p384.cpp: //easy, recursive parsing, syntax p565.cpp: //medium, satisfiability, sat, np-complete, bit arithmetic, optimization p657.cpp: //easy, dfs, flood fill, good p532.cpp: //easy, bfs, graphs, maze, labyrinth, single-source shortest path p11713.cpp: //easy, trivial p11292.cpp: //easy, trivial, greedy p10140.cpp: //hard, math, number theory, sieve on a range p339.cpp: //easy, simulation, same game, bad, UNSOLVED: idunno p10667.cpp: //medium, geometry, largest empty rectangle, classic, good p10070.cpp: //easy, math, modular arithmetic, horner's rule, leap years, short, gotcha, good p10400.cpp: //medium, dp, good, optimal expression without operator precedence, tricky, efficiency p10144.cpp: //medium, math, logic, misc, good, excellent p11057.cpp: //easy, set, datastructures, bad, undefined p10617.cpp: //medium, dp, palindromes, strings, memoization, classic, good, excellent p10885.cpp: //hard, math, geometry p11430.cpp: //medium, math, probability, combinatorics p10702.cpp: //medium, graphs, shortest path of a given length, matrix multiplication, dp, good p846.cpp: //medium, math, steps, good, excellent p11515.cpp: //easy, brute force, bad p486.cpp: //easy, trivial, tedious, natural language numbers p299.cpp: //easy, brute force, bubble sort p10016.cpp: //medium, brute force p10591.cpp: //easy, number theory, horner's rule, map, set p602.cpp: //medium, calendar, annoying, pain in the ass, good p11608.cpp: //easy, trivial, simulation p760.cpp: //hard, dp, lcs, longest common subsequence with recovery, good, UNSOLVED: need smarter backtracking p184.cpp: //medium, geometry, collinear points in a set, good p159.cpp: //easy, good, excellent, gotcha, output p11594.cpp: //hard, graphs, all pairs maximum flow, max flow, gomory-hu trees p10072.cpp: //hard, graphs, weighted bipartite matching, hungarian algorithm p974.cpp: //easy, math, brute force p10672.cpp: //medium, trees, recursion, recursive, good, excellent p117.cpp: //medium, graphs, shortest path, dijkstra, bellman-ford, euler tour, euler path, dominoes, good, excellent, tricky p10203.cpp: //easy, graphs, tricky, short, good, excellent p398.cpp: // easy, io p10714.cpp: //easy, math, ants, good, excellent, short p882.cpp: //medium, dp, precomputation, dropping plates, mailboxes, classic, good excellent p11077.cpp: //hard, math, combinatorics, permutations, UNSOLVED: something's weird p617.cpp: //medium, math, geometry, traffic lights, line segment intersection, doubles, good, output p11747.cpp: //medium, mst, minimum spanning tree, kruskal's p195.cpp: //easy, permutations, sort, next_permutation, comparator, short, read carefully p10300.cpp: //easy, trivial, short p10323.cpp: //easy, stupid, bad, wrong judge p10311.cpp: //hard, math, number theory, sieve, primes, primality testing, good, excellent p172.cpp: //medium, parsing, expressions, bad p608.cpp: //easy, brute force, math, coins, weighing, counterfeit coins, good p11710.cpp: //medium, graphs, mst, minimum spanning tree p10023.cpp: //multiple input, math, big int, square root p11310.cpp: //easy, dp p11091.cpp: //hard, very hard, math, successive squaring, matrix, matrices, linear algebra, efficiency p10819.cpp: //medium, knapsack, dp, coins p181.cpp: //medium, cards, simulation, long p168.cpp: //medium, graphs, input, simulation, gotcha, bad p146.cpp: //medium, short, permutations, next_permutation, good, excellent p705.cpp: //medium, bfs, dfs, careful coding, annoying, slash maze p10364.cpp: //hard, backtracking, branch and bound, partition, good, excellent p356.cpp: //easy, geometry, brute force p10095.cpp: //hard, geometry, smallest enclosing sphere, smallest enclosing disk p272.cpp: //easy, trivial, parsing, short, tiny p10551.cpp: //easy, math, horner's rule, number theory, good p10806.cpp: //hard, graphs, minimum cost maximum flow, min cost max flow p10004.cpp: //easy, graphs, dfs p198.cpp: //hard, parsing, expressions, ebnf, grammars, careful programming, long, good p11049.cpp: //medium, graphs, grids, single-source shortest path, path recovery p726.cpp: //easy, cryptography, cryptanalysis, frequency analysys, misc, good, useful p762.cpp: //easy, graphs, bfs, shortest path, good, excellent, neat gotcha p11504.cpp: //medium, strongly connected components, scc p10090.cpp: //medium, math, number theory, extended gcd, euclid's algorithm, UNSOLVED: It's right, bitch! p10342.cpp: //hard, graphs, second shortest path, dijkstra p10086.cpp: //hard, dp, good, excellent p673.cpp: //easy, trivial, parentheses, stack, grammars, parsing, gotcha, good p10009.cpp: //multiple input, medium, graphs, shortest path, floyd-warshall, careful reading, good p10992.cpp: //medium, math, mod, divisibility, gotcha p10841.cpp: //medium, graphs, shortest path p154.cpp: //easy, trivial, input, getline p10100.cpp: //medium, dp, lcs, longest common subsequence, bad, horrible, retarded, demented p569.cpp: //medium, geometry, horseshoes, circles, printf, UNSOLVED: ugly p10235.cpp: //easy, trivial, math, number theory, primes, sieve, gotcha, good p557.cpp: //hard, math, probability, binomial coefficients, efficiency, short, good p11678.cpp: //easy, brute force p852.cpp: //easy, flood fill, game, go, bad p11507.cpp: //medium, 3d geometry, simulation p865.cpp: //easy, trivial p697.cpp: //easy, trivial, io, printf, stupid, annoying, I hate these, short p10550.cpp: //easy, trivial, combination lock p11060.cpp: //medium, graphs, transitive closure, floyd-warshall, sorting, tricky, good, excellent p147.cpp: //medium, dp, coins, good, short p443.cpp: //medium, number theory p10650.cpp: //easy, math, number theory, sieve p452.cpp: //medium, graphs, topological sort, dp, efficiency, crazy input p10862.cpp: //medium, big int, math, dp p10208.cpp: //hard, math, number theory, fermat's theorem, sum of squares, primes, sieve, factorials, good p12765.cpp: //easy, trivial p10275.cpp: //hard, big int, log, successive squaring, bad, UNSOLVED: confusing and difficult. TLE p10783.cpp: //easy, trivial, short, good p10301.cpp: //easy, graphs, union-find, bfs, dfs, geometry, largest connected component p570.cpp: //easy, simulation, stupid, annoying p332.cpp: //easy, trivial, math, input, decimal fractions, good, excellent p957.cpp: //easy, scanline p10644.cpp: //hard, dp, floor tiles, polyominoes p10508.cpp: //medium, strings, word morphing, efficiency, good, excellent p11414.cpp: //medium, graphs, graphic sequence, degree sequence, classic p10814.cpp: //medium, big int, gcd, reducing fractions p10239.cpp: //medium, dp, good p121.cpp: // easy, geometry p10461.cpp: //medium, graphs, bfs, dfs, flood fill, transitive closure p10290.cpp: //hard, math, number theory, short, good, excellent p10297.cpp: //easy, trivial, short, geometry p10161.cpp: //easy, short, math, snake walk, good, excellent p550.cpp: //medium, math, number theory, rotamult, modular arithmetic, good, excellent p684.cpp: //medium, math, determinant, linear algebra, matrices, good p165.cpp: //hard, ridiculously hard, dp, stamps, math, combinatorics, backtracking, precomputation, coins, good, excellent p10535.cpp: //medium, geometry, line segment intersection, good, excellent p11095.cpp: //hard, graphs, vertex cover, split-and-merge, bidirectional search, dp, good, excellent p10194.cpp: //easy, sorting, input, getline, bad, horrible p10372.cpp: //easy, math, geometry p313.cpp: //medium, geometry, sorting, scanline, UNSOLVED: WA?! Ok... p10764.cpp: //medium, math, bases, signed digit number system, good, educational, gotcha p10815.cpp: //easy, trivial, set, strings p11572.cpp: //easy, greedy, scanline, insane input p10670.cpp: //easy, math, sorting, good, excellent p10699.cpp: //medium, math, number theory, primes, sieve, good p11174.cpp: //hard, dp, number of topological sorts of a forest, efficiency, good, excellent p349.cpp: #include p629.cpp: //medium, misc, graphs, union-find, interesting, weird p454.cpp: //multiple input, easy, trivial, anagrams, sorting p11173.cpp: //easy, gray codes, bitmasks, short, tiny p10030.cpp: //multiple input, medium, graphs, bipartite graphs, misc, guessing game, good, excellent, awesome! p10220.cpp: //medium, big int p10205.cpp: //easy, simulation, permutations, shuffling cards p10499.cpp: //easy, trivial, math, geometry, short (3 lines), good, excellent p11541.cpp: //easy, trivial, input p377.cpp: //easy, calculations in base 4, math p11538.cpp: //easy, math p11714.cpp: //medium, math, short p663.cpp: //hard, good, bipartite matching p460.cpp: //multiple input, easy, trivial, geometry in integers, short p11063.cpp: //easy, trivial p10010.cpp: //easy, grids, linear boggle, good p11313.cpp: //easy, trivial, math p10879.cpp: //easy, trivial, math, factoring p257.cpp: //medium, trick p10234.cpp: //medium, strings, efficiency, hashtable, UNSOLVED: PE p11064.cpp: //medium, math, number theory, euler phi, totient function, number of divisors p337.cpp: //easy, parsing, fsa, simulation p124.cpp: //medium, permutations, recursive, sorting, io, getline, good, excellent p10554.cpp: #include p10894.cpp: //easy, simulation, output, memory, careful programming, tricky, sneaky, good, excellent p11151.cpp: //medium, dp, palindromes p10504.cpp: //medium, misc, squares on a grid, good p643.cpp: //medium, simulation, dp, careful programming p10058.cpp: //medium, parsing, recursive descent, context-free grammars, good p10125.cpp: //medium, misc, sets, datastructures, tricky, good, excellent p10802.cpp: //medium, graphs, dfs, lex smallest drive p10283.cpp: //easy, math, geometry, circles inscribed in circles p10113.cpp: //medium, graphs, math, number theory, reachability, floyd-warshall, gcd, rational p11777.cpp: //easy, trivial, simulation, careful coding p10069.cpp: //medium, big int, dp, subsequences, memory efficiency, good, excellent p11530.cpp: //easy, trivial, simulation p10486.cpp: //medium, graphs, prim's, good p10865.cpp: //easy, trivial, short, brute force p10659.cpp: //easy, simulation, text p10549.cpp: //hard, dp, lis, lcs, stacking boxes, good, UNSOLVED: WA. Kill me. Kill me now! p208.cpp: //hard, graphs, dfs, lex path listing, backtracking, pruning, good, excellent p11311.cpp: //medium, dp, minimax, game p254.cpp: //medium, big int, math, number theory, towers of hanoi, classic, good, excellent p220.cpp: //medium, simulation, game, reversi, othello, good, excellent p10868.cpp: //easy, misc, physics, careful coding, good, excellent p397.cpp: // parsing, io, algebra, trees p10469.cpp: //easy, trivial, short, tiny, 1 line, math, good, excellent p944.cpp: //easy, math, brute force, dfs, happy numbers p10621.cpp: //hard, graphs, shortest path, minimum spanning tree, minimization, good, UNSOLVED: TLE p10512.cpp: //medium, math, quadratic equations, UNSOLVED: WAAAA. p10338.cpp: //easy, combinatorics, math, number theory p308.cpp: //medium, geometry, flood fill, limiting attention to endpoints, dfs, bfs, good, excellent p10480.cpp: //hard, graphs, maximum flow, minimum cut, classic, good p11149.cpp: //medium, divide-and-conquer, matrix powers, good p382.cpp: //easy, trivial, short, math, number theory, perfect numbers p10003.cpp: //medium, dp, good, excellent, short p10820.cpp: //math, number theory, euler phi, totient function, good, excellent p907.cpp: //medium, binary search, greedy p10348.cpp: //medium, geometry, line segment intersection, point in polygon p10704.cpp: //hard, bfs, puzzle, brute force, UNASOLVED: WA, of all things! p11666.cpp: //easy, math, brute force p116.cpp: //medium, dp, minimum weight left-right path through matrix, good, excellent p10106.cpp: //medium, big int, multiplication p583.cpp: //medium, math, dp, memoization, number theory, factors, primes, factorization, good, optimization p626.cpp: //medium, graphs, brute force, tricky, all 3-cycles p841.cpp: //hard, backtracking, UNSOLVED: TLE: ID+BnB didn't work. Need ideas... p542.cpp: //easy, tournament, probability p10722.cpp: //medium, big int, dp, good, combinatorics p10083.cpp: //medium, math, algebra, big int, division, big time horner's rule, good, excellent p662.cpp: //hard, dp, good, excellent p10475.cpp: //medium, misc, careful programming, good p10860.cpp: //medium, strings, substring check, dp, efficiency p11614.cpp: //easy, trivial, math p10870.cpp: //medium, math, matrix powers, successive squaring, fibonacci p497.cpp: //multiple input, medium, good dp, p231 p447.cpp: //medium, multiple input, conway's life, simulation, getline p161.cpp: //easy, simulation, brute force, traffic lights p10178.cpp: //easy, math, graphs, euler's formula, union-find, gotcha, tricky, nasty, good, excellent p166.cpp: //medium, dp, coins p606.cpp: //multiple input, medium, haskel, functional, math, infinite lists, good, oop p10816.cpp: //hard, graphs, shortest path, spanning trees, mst, binary search, good, excellent p786.cpp: //hard, graphs, bellman-ford, negative weight cycles, UNSOLVED: Reading input takes over 2 seconds p10192.cpp: //easy, strings, longest common subsequence, bad p858.cpp: //medium, geometry, line segment intersection, line intersection p10173.cpp: //hard, geometry, convex hull p107.cpp: //hard, math, algebra, number theory, trees, cats and hats, i hate this thing! p10570.cpp: //medium, sorting, minimum number of swaps, permutations, classic p540.cpp: //easy, team queue, datastructure, simulation, linked list, good, excellent p11308.cpp: //easy, simulation p10302.cpp: //easy, trivial, short, long long p10889.cpp: //medium, math, combinatorics, good p921.cpp: //hard, brute force, backtracking, branch-and-bound, careful coding p226.cpp: //medium, fast io, tricky, bad p11567.cpp: //easy, math, number theory, greedy p469.cpp: //multiple input, medium, io, getline, dfs, flood fill, good memoization! p10585.cpp: //medium, geometry, center of symmetry, set p10871.cpp: //medium, number theory, primes, sieve, brute force p476.cpp: //easy, doubles p785.cpp: //easy, flood fill, weird input p615.cpp: //medium, graphs, is directed tree p10037.cpp: //hard, misc, bridge, good, excellent p10746.cpp: //hard, graphs, weighted matching, maximum weighted bipartite matching, hungarian algorithm, min cost max flow, minimum cost maximum flow, good p739.cpp: //easy, soundex, io, good, useful, cute p905.cpp: //easy, simulation, geometry p913.cpp: //easy, trivial, math, short p947.cpp: //medium, brute force, simulation, mastermind, UNSOLVED: I've never understood mastermind rules. p11111.cpp: //medium, stack, careful coding, gotcha, good, excellent p10720.cpp: //hard, math, graphs, combinatorics, graphic sequence, good, UNSOLVED: just doing Erdos-Gallai... should be right. p10852.cpp: //easy, number theory, primes, sieve p10843.cpp: //medium, math, graphs, combinatorics p869.cpp: //easy, graphs, connectivity, floyd-warshall, transitive closure p10637.cpp: //medium, math, recursive, backtracking, gcd, brute force p11428.cpp: //easy, number theory, brute force p10668.cpp: //medium, geometry, binary search p10716.cpp: //medium, palindromes, greedy, good, excellent p436.cpp: //medium, graphs, negative weight cycles, Floyd-Warshall p403.cpp: //easy, parsing, ugly p483.cpp: //easy, trivial, io, getline, bad p592.cpp: //medium, logic, brute force, truth table, good, long p453.cpp: //medium, geometry, ugly, classic, circle intersection, bad, horrible, UNSOLVED: wrong judge p853.cpp: //easy, maps, datastructures, good p426.cpp: //multiple input, medium, parsing, io, printf p10460.cpp: //medium, math, permutations, recursive, good p11101.cpp: //hard, bfs, shortest path, memory efficiency, bad, impossible with decent test data p466.cpp: //easy p536.cpp: //medium, graphs, trees, binary tree reconstruction, good, excellent p10137.cpp: //medium, misc, coin transfer, bad, horrible p11040.cpp: //easy, math p10093.cpp: //easy, math, number theory, horner's rule, modular arithmetic, bases, divisibility, good p10260.cpp: //easy, trivial, soundex p111.cpp: //medium, misc, lis, longest increasing subsequence, fucked up beyond belief p10693.cpp: //easy, trivial, math, calculus, short, tiny p10330.cpp: //hard, graphs, maximum flow, ford-fulkerson, good p232.cpp: //easy, careful coding p371.cpp: #include p338.cpp: //easy, io, output, long multiplication, bad, horrible, UNSOLVED: shoot the problem setter!!! p493.cpp: //easy, gcd, memoization p555.cpp: //easy, sort, sorting, cards p11774.cpp: //easy, math, number theory, permutations, gcd p423.cpp: //medium, graphs, bfs, single-source shortest path, bellman-ford, dijkstra p10276.cpp: //medium, simulation, math, number theory, precomputation p10715.cpp: //medium, coins with recovery p10487.cpp: //easy, datastructure, binary search p10744.cpp: //medium, math, geometry, dot product, median, nth_element, good p136.cpp: //easy, trivial, math, number theory, primes, precomputation, pre-computation p870.cpp: //medium, rectangle intersecitons, flood fill, metagrid p11725.cpp: //medium, dp, bitmasks p11059.cpp: //easy, trivial, brute force p10334.cpp: #include p10392.cpp: //easy, math, number theory, factoring p10377.cpp: //easy, simulation, input, getline, robot in a maze p10779.cpp: //hard, graphs, maximum flow, tricky, good, excellent p10457.cpp: //hard, graphs, mst, bfs, binary search p10282.cpp: //easy, trivial, map, input, io, getline, short, tiny p10193.cpp: //easy, math, horner's rule, number theory, gcd, good p11634.cpp: //easy, brute force, simulation p174.cpp: //hard, parsing, simulation p11736.cpp: //easy, input, simulation p137.cpp: //hard, geometry, cut polygon, convex polygon intersection p10808.cpp: //hard, gaussian elimination, linear system, big int, rational, graphs, resistors, UNSOLVED: MLE p11045.cpp: //medium, graphs, bipartite matching p10036.cpp: //medium, math, number theory, modular arithmetic, bfs, coins, good, excellent p10218.cpp: //medium, probability, dp, memoization, binomial distribution, bad, UNSOLVED: WA p250.cpp: //easy, brute force, good p10541.cpp: #include p11728.cpp: //easy, brute force p120.cpp: //medium, sorting, flip sort, io, getline, good, excellent p10197.cpp: //easy, parsing, io, portuguese verb conjugation p10134.cpp: //easy, simulation p10459.cpp: //hard, graphs, trees, dfs, tree diameter, best tree root, worst tree root, good, UNSOLVED: TLE with a linear-time algorithm on n=5000 p10739.cpp: //medium, dp, palindromes, short, good, excellent p818.cpp: //medium, graphs, union-find, brute force, reconnecting chains p10026.cpp: //medium, sorting, short, good, excellent p231.cpp: //medium, longest increasing subsequence, dp, nlogn p343.cpp: //easy, brute force, horner p492.cpp: //easy, trivial, parsing, getline p752.cpp: //easy, quad trees, image decryption, good, excellent p721.cpp: //hard, graphs, cactus, shortest path, dijkstra, efficiency, good, UNSOLVED: everything is too slow p10024.cpp: //multiple input, medium, math, paper cube, dfs p10365.cpp: //easy, trivial, math, number theory, factoring, mod, divisibility, good p10594.cpp: //hard, graphs, min cost max flow, minimum cost maximum flow, good p11119.cpp: //hard, greedy, stable marriage, good, excellent p10299.cpp: //medium, math, number theory, euler phi, totient function p10333.cpp: #include p264.cpp: //easy, binary search, math, number theory p716.cpp: //hard, math, combinatorics, permutations, 15 puzzle, good, classic, excellent, UNSOLVED: hard p755.cpp: //multiple input, easy, io, printf, efficiency, map p10102.cpp: //easy, graphs, bfs, multiple-source shortest paths, good p271.cpp: //easy, fsm or recursive parsing p102.cpp: //easy, short p392.cpp: //easy, io p10488.cpp: //easy, math, geometry, careful programming, doubles p904.cpp: //medium, geometry, parallelepiped intersection, pseudogrid, limiting attention to endpoints, classic p10371.cpp: //medium, misc, parsing, time zones, careful coding, good p11517.cpp: //easy, dp, coins p10018.cpp: //easy, brute force, math, good, gotcha p10331.cpp: //medium, graphs, all-pairs shortest path, floyd-warshall p418.cpp: //medium, brute force, small crossword p10408.cpp: //hard, math, number theory, farey sequences p11413.cpp: //easy, binary search, greedy p11122.cpp: //hard, geometry, triangle intersection, good, excellent p11152.cpp: //easy, trivial, math, geometry p10105.cpp: //easy, math, combinatorics, factorial, binomial coefficient, short p10242.cpp: //medium, geometry, vector addition, fourth point in a parallelogram, careful coding p11654.cpp: //medium, dp p10719.cpp: //medium, math, input, getline p10350.cpp: //medium, dp p11427.cpp: //medium, dp, math, probability p10346.cpp: //easy, trivial, math, number theory, integer division, mod, good, excellent p10162.cpp: //easy, math, number theory, modular arithmetic, euler's theorem, bad p425.cpp: //easy, parsing, io, cute, crypt p713.cpp: //medium, math, big int p10576.cpp: //medium, misc, brute force, bitmasks p925.cpp: //medium, graphs, transitive closure, floyd-warshall, greedy, sorting, stl, good p650.cpp: //hard, io, bowling score, ugly, long, tedious, hardest problem ever, UNSOLVED: WA p11140.cpp: //easy, simulation, brute force p10603.cpp: //medium, graphs, shortest path, dijkstra, good p10415.cpp: //easy, simulation, io, getline p187.cpp: //easy, io, input, scanf, printf p10495.cpp: //easy, math, geometry, conic distance p10287.cpp: //hard, math, geometry, 4 circles packed into a hexagon, short, good, excellent p10181.cpp: //hard, backtracking, 15 puzzle, classic, good, UNSOLVED: they want an actual winning strategy?! Jeez! p11715.cpp: //easy, trivial, math, bad, numerical errors p11359.cpp: //medium, bfs p413.cpp: //medium, stupid, ugly p624.cpp: //easy, partition, brute force, np-complete, good p475.cpp: //medium, dp, longest common subsequence, wildcard matching, good, excellent, UNSOLVED: can't be judged :-( p10882.cpp: //easy, math, misc p10363.cpp: //easy, math or precomputation, tic-tac-toe p10328.cpp: #include p496.cpp: //easy, trivial, very good sets p10569.cpp: //hard, big int, math, number theory, sum of cubes p10096.cpp: //medium, geometry, circle intersection, UNSOLVED: WA, ugly geometry p10074.cpp: //hard, largest empty rectangle, good, excellent p1008.cpp: //medium, simulation p10182.cpp: //medium, bee numbers, grids, classic p402.cpp: //easy, math, josephus-like p621.cpp: //easy, trivial, stupid, bad, poorly defined p10409.cpp: //easy, rolling die p10327.cpp: //easy, sorting, math, bubble sort, flip sort, good, excellent p10215.cpp: //easy, trivial, math, geometry, calculus, short, tiny, rounding, bad p11066.cpp: //medium, geometry, line segment intersection p718.cpp: //hard, math, number theory, graphs, diophantine equations, bfs, dfs, connectivity, good p10229.cpp: //medium, math, number theory, modular fibonacci, memoization, good, excellent, educational p379.cpp: //easy, simulation p10410.cpp: //hard, recursive, trees, tree reconstruction, classic, good, excellent, UNSOLVED: hard p311.cpp: //medium, math, box packing, greedy, good p10681.cpp: //medium, graphs, adjacency matrix powers, dp p11448.cpp: //medium, big int, subtraction p10115.cpp: //easy, strings, io, getline, substring, find p895.cpp: //medium, strings, sorting, anagrams p10078.cpp: //easy, geometry, convex polygons, checking convexity, cross product, short, good, excellent p10071.cpp: //easy, trivial, math, short, tiny, the shortest program ever p10500.cpp: //easy, simulation, io, robot map, UNSOLVED: io problems p11097.cpp: //medium, graphs, DP, shortest path p11733.cpp: //medium, graphs, mst, minimum spanning tree, kruskal's p11561.cpp: //easy, bfs, dfs p10271.cpp: //hard, ridiculously hard, dp, good, short p11646.cpp: //easy, short, math, geometry p551.cpp: //easy, stack, matching brackets, nested parentheses p10401.cpp: //hard, chess, divide and conquer, memoization, 8 queens variation p10685.cpp: //medium, graphs, union-find, connected components, bad description p637.cpp: //easy, math, io p10057.cpp: //medium, math, median, good, very tricky p750.cpp: //multiple input, easy, classic, next_permutation, 8 queens, good p216.cpp: //easy, trivial, brute force, hamiltonian path p11551.cpp: //easy, successive squaring, matrix multiplication p670.cpp: //multiple input, hard, graph, bipartite matching p10013.cpp: //medium, big int p11088.cpp: //medium, dp, bitmasks p665.cpp: //multiple input, easy, good brute force, false coin, coin weighings, balance p703.cpp: //meidum, careful programming, misc, ordeing triples, good p586.cpp: //medium, parsing, io, stack, code complexity, recursive descent, print polynomials p139.cpp: //hard, map, io, input, output, getline, printf, gotcha, bad, horrible, stupid p133.cpp: //easy, misc, math, mod, josephus-like p590.cpp: //medium, graphs, dp, shortest path of a given length, matrix multiplication, good, excellent p10062.cpp: //easy, cryptography, cryptanalysis, frequency analysis, maps, sorting p11332.cpp: //easy, trivial p10354.cpp: //medium, graphs, shortest path, floyd-warshall, all vertices belonging to any shortest path, good, excellent p416.cpp: //easy p559.cpp: //hard, good, excellent, geometry, the squares game, limiting attention to endpoints p490.cpp: //easy, trivial, io, getline p10536.cpp: //medium, dp, game, game of euler p213.cpp: //easy, encryption, bit patterns p11661.cpp: //easy, trivial, short p157.cpp: //medium, graphs, shortest path, dijkstra p10502.cpp: //medium, misc, sub-rectangles in a grid p10263.cpp: //medium, geometry, distance from a point to a line segment p10660.cpp: //easy, brute force p10128.cpp: //medium, math, combinatorics, permutations, good p245.cpp: //medium, data structure, simulation, list, iterators, UNSOLVED: WA p10238.cpp: //hard, math, big int, dp, probability, throwing dice, classic, UNSOLVED: hard as hell p10015.cpp: //medium, math, number theory, primes, sieve, brute force p701.cpp: //medium, math, stupid, bad p672.cpp: //multiple input, medium, dp, limiting attention to endpoints, bad p10081.cpp: //medium, math, combinatorics, dp, good p10553.cpp: //medium, geometry, point to line segment distance, good p556.cpp: //easy, mazes, simulation p11752.cpp: //medium, math, overflow p160.cpp: //medium, math, factorials, output p702.cpp: //medium, math, brute force, memoization, misc, vindictive coach, good p10789.cpp: //easy, math, number theory, primes p395.cpp: //easy, board game p10212.cpp: //hard, math, number theory, last non-zero digit, factorial, primes, sieve, efficiency, good, UNSOLVED: WA :-( p128.cpp: //easy, math, number theory, horner's rule, output, printf, short, good p10061.cpp: //medium, math, number theory, factoring, factorials, number of digits, trailing zeros, bad, wrong judge p11076.cpp: //medium, math, permutations p568.cpp: //easy, number theory, math, factorials, last nonzero digit, io, printf, short, dp, good p516.cpp: //easy, primes, sieve p910.cpp: //easy, dp, graphs p10792.cpp: //medium, math, geometry, trigonometry, short, good, excellent p10491.cpp: //easy, math, probability, 3 doors problem, good, short, tiny p11084.cpp: //hard, dp, math, permutations, split-and-merge, bidirectional search, dp, good, excellent p839.cpp: //easy, recursion, recursive, trees, mobile, good, excellent p10104.cpp: //medium, math, number theory, extended gcd, euclidean algorithm, good p10426.cpp: //medium, bfs, shortest path, brute force, steiner tree, UNSOLVED: crazy huge input p11703.cpp: //easy, memoization p291.cpp: //easy, dfs, no input, precomputation, euler cycle p11514.cpp: //medium, dp, bad p10574.cpp: //hard, geometry, number of rectangles formed by a set of points, efficiency p619.cpp: //medium, big int, math, good, excellent, dictionary index, horner p11078.cpp: //easy, trivial p11554.cpp: //easy, combinatorics, triangles out of sticks p11723.cpp: //easy, trivial, short p11730.cpp: //easy, bfs, dp p10566.cpp: //medium, geometry, binary search, newton's method, two ladders, classic, good p10471.cpp: //medium, graphs, trees, recursive, recursion, math, good p10883.cpp: //medium, math, combinatorics, logs, binomial coefficients p651.cpp: //easy, math, harmonic numbers, io, hanging cards, short p484.cpp: //easy, map, multiset p256.cpp: //easy, brute force, io p499.cpp: //easy, trivial, map, character frequencies p375.cpp: //medium, math, geometry, inscribed circle, wrong judge, bad, horrible p10800.cpp: //easy, trivial, io p10619.cpp: //medium, binary search, good, excellent p11129.cpp: //medium, tricky, a-ha, good, excellent, beautiful, antiarithmetic sequence p603.cpp: //multiple input, easy, simulation, queue, bad, poorly defined, trick, gotcha, UNSOLVED p685.cpp: //medium, graphs, weird all-pairs shortest path, edge-graph, floyd-warshall p740.cpp: //easy, io, reading bit sequences, baudot code, useful p612.cpp: //multiple input, easy, stable sort, short, good p482.cpp: //multiple input, easy, trivial p763.cpp: //medium, math, fibonacci, long addition, fibinary numbers, good p11718.cpp: //easy, math p10748.cpp: //hard, misc, knight reachability, UNSOLVED: Holy shit! That's some Polish input! p541.cpp: //easy, bad p10804.cpp: //hard, graphs, bipartite matching, binary search p10012.cpp: //easy, math, geometry, circle packing, brute force, good, excellent p11511.cpp: //medium, math, number theory, brute force p10465.cpp: //medium, math, number theory, gcd, diophantine equations, brute force p737.cpp: //easy, trivial, geometry, min, max, cube intersection, cute p11548.cpp: //easy, trivial, brute force p10677.cpp: //medium, math, number theory, horner's rule, base conversion, good, excellent p149.cpp: //hard, geometry, interval set p10252.cpp: //easy, math, sets, set intersection, gotcha p823.cpp: //medium, geometry, good, 3 circles in a triangle p495.cpp: //medium, big int addition p11093.cpp: //medium, driving around a circle with gas stations, classic p10608.cpp: //medium, union-find, good, excellent p417.cpp: //medium, math, tricky p450.cpp: //easy, trivial, io, parsing, sort p145.cpp: //easy, trivial, output, bad p326.cpp: //medium, extrapolation, matrix, matrices, gauss, gaussian elimination p833.cpp: //easy, simulation, geometry p706.cpp: //easy, careful programming, misc, big letter printing, LC-Display p10308.cpp: //medium, graphs, trees, recursive, longest path in a tree, classic, good p478.cpp: //easy, geometry, oop, good, pure virtual functions p10405.cpp: //easy, dp, longest common subsequence, good, short p10343.cpp: //easy, parsing, bitmasks p10732.cpp: //medium, binary search, good p131.cpp: //medium, cards, brute force, poker hands, long p11130.cpp: //easy, trivial, math, geometry p10738.cpp: //medium, number theory, primes, sieve, mobius function, mertens function, good, excellent p10019.cpp: //easy, trivial, math, horner, bases, bit counting, good p855.cpp: //easy, sorting, median p10866.cpp: //hard math, number theory, primes, primitive roots p10575.cpp: //medium, geometry, polygon axis of symmetry, reflection, UNSOLVED: It's late and I'm tired. p344.cpp: //easy, roman numerals, brute force p10473.cpp: //easy, io, base conversion, scanf, trivial p10370.cpp: //easy, trivial, short, math, statistics, stats, mean, median, good, excellent p552.cpp: //medium, set, brute force, bit arithmetic p10578.cpp: //medium, game, minimax, dp, good, excellent p10506.cpp: //hard, math, iterative, backtracking, ouroboros numbers, de bruijn sequence, classic, good, excellent p10375.cpp: //medium, n choose k, binomial coefficient, good p906.cpp: //easy, math, number theory, brute force p10688.cpp: //medium, dp, good p101.cpp: //easy, simulation p10518.cpp: //hard, math, successive squaring, recurrence, closed form, fibonacci, matrix powers, good p10635.cpp: //easy, longest common subsequence, lcs p11067.cpp: //easy, dp, number of monotone paths on a grid p268.cpp: //medium, math, number theory, classic, good p10622.cpp: //easy, math, number theory, successive squaring, perfect powers p150.cpp: //medium, calendar, dates, precomputation p1009.cpp: //easy, geometry, brute force, tricky p10264.cpp: //easy, simulation, spacial thinking, bit masks, good p10177.cpp: //medium, math, combinatorics, precomputation p10763.cpp: //medium, greedy p144.cpp: //easy, simulation p929.cpp: //hard, very hard, graphs, shortest path, bucket dijkstra's, efficiency, ridiculous input p514.cpp: //easy, simulation, stack p437.cpp: //medium, stacking boxes, dp, sort, longest increasing subsequence p11553.cpp: //easy, graphs, weighted matching, hungarian, brute force p664.cpp: //hard, math, trees, probability, recursive, good p11168.cpp: //hard, geometry, convex hull, best supporting line p653.cpp: //medium, bitset, math, number theory, factoring, bad, wrong problem statement p10527.cpp: //easy, math, number theory, persistent numbers p10534.cpp: //hard, longest increasing subsequence, wavio sequences, good, excellent p118.cpp: //easy, simulation, bad, unclear instructions p390.cpp: //easy p11521.cpp: //hard, very hard, dp, double dp, string compression p11133.cpp: //medium, math, dp, eigensequences, e-transform, good, excellent p10759.cpp: //medium, rational numbers, rationals, math, combinatorics, dp, UNSOLVED: hard p10673.cpp: //medium, math, number theory, diophantine equations, extended gcd, euclid's algorithm, good, excellent p10579.cpp: //medium, big int, fibonacci numbers, good p11584.cpp: //medium, dp, strings, palindromes, good p10369.cpp: //medium, graphs, mst, minimum spanning tree, kruskal, good, excellent p632.cpp: //multiple input, medium, io, sort, stupid, annoying io p10676.cpp: //easy, brute force, output, advanced printf, UNSOLVED: WA. No clue. p11327.cpp: //easy, math, number theory, sieve, totient function, euler phi function p10005.cpp: //medium, math, geometry, smallest enclosing circle, circle through 3 points, good p10482.cpp: //hard, dp, coins, good p10845.cpp: //hard, ridiculously hard, graphs, maximum flow, backtracking, branch and bound, UNSOLVED: Rodrigo's brute force problem :-0 p10589.cpp: //medium, geometry, doubles, solving in integers, tricky, good p10634.cpp: //medium, math, combinatorics, binomial coefficients, pascal's triangle, polynomials, good, short p142.cpp: //easy, geometry, simulation p110.cpp: //medium, misc, sorting, code generation p897.cpp: //medium, math, number theory, primes, sieve, good p10291.cpp: //easy, math, simulation, geometry, greedy, point in polygon p170.cpp: #include p10543.cpp: // medium, graphs, all-pairs shortest path, floyd-warshall, adjacency matrix powers p11070.cpp: //medium, parsing, expression evaluation p10493.cpp: //easy, math, trees, number of nodes in an N-ary tree with M leaves, cats and hats, short (4 lines), good p799.cpp: //medium, math, number theory, factoring p11054.cpp: //easy, greedy, scanline, math, good, short p10101.cpp: //easy, io, bad description p315.cpp: //medium, graph, dfs with a trick p10316.cpp: //medium, math, geometry, great circle p10658.cpp: //medium, math, combinatorics, towers of hanoi, good, excellent p884.cpp: //medium, math, number theory, sieve, factoring, primes, factorial, good, excellent p647.cpp: //easy, sim, simulation, snakes and ladders p10886.cpp: //hard, simulation, math, statistics, random numbers p10407.cpp: //medium, math, number theory, gcd, short, good, excellent p11760.cpp: //easy, trivial p11048.cpp: //hard, strings, efficiency, memory, careful coding p10130.cpp: //medium, knapsack, dp, coins p899.cpp: //easy, bfs p815.cpp: //easy, binary search, sort, water level on a terrain, good, excellent p10167.cpp: //easy, geometry, left turn test, cross product p604.cpp: //easy, boggle, set, sort, io, input, graphs, dfs p10285.cpp: //medium, bfs, dp, longest downhill path on a grid, good, excellent p830.cpp: //medium, flood fill, bad p10195.cpp: //easy, geometry, inscribed circle in a triangle, gotcha, good p10859.cpp: //hard, graphs, dp, minimum vertex cover on a tree p11586.cpp: //easy, graphs, eulerian cycle p926.cpp: //medium, dp p10874.cpp: //easy, dp, good, excellent p318.cpp: //medium, graphs, dijkstra p10519.cpp: //medium, math, big int, good, excellent, short, tiny, 2 lines p10020.cpp: //medium, geometry, scanline, sorting, UNSOLVED: I can only prove my code is correct. p10156.cpp: //easy, simulation, good, excellent p10112.cpp: //easy, geometry, triangle area, point-edge sidedness, cross product, left turn, integers, good p11364.cpp: //easy, trivial p859.cpp: //medium, bfs, shortest path, chinese checkers move p10168.cpp: //medium, math, number theory, primes, sieve, goldbach p331.cpp: //medium, sorting, bubble sort, combinatorics, good, excellent p10556.cpp: //medium, geometry, dot product, cross product, similar polygons p350.cpp: //easy, brute force, memoization, short p948.cpp: //medium, math, fibonacci numbers, greedy, good, excellent p340.cpp: //easy, simulation p10785.cpp: //easy, simulation, sorting, good p10241.cpp: p638.cpp: //easy, trivial, brute force p10295.cpp: //easy, io p922.cpp: //medium, geometry, area of a polygon p280.cpp: //easy, graphs, floyd-warshall, bfs, dfs p845.cpp: //medium, math, recursive, modified next permutation, good, excellent p10312.cpp: //hard, super-catalan numbers, good dp p10213.cpp: //hard, math, combinatorics, recurrence, big int, geometry, complete graph embeddings p438.cpp: //easy, geometry, circle through 3 points, matrix, matrices p10133.cpp: //medium, io, dp, anal input, good p427.cpp: //hard, geometry, io, ternary search p10097.cpp: //medium, graphs, bfs, shortest path p732.cpp: //easy, simulation, brute force, stack, anagrams, io, good p10246.cpp: //hard, graphs, all pairs shortest path, dijkstra, strange, original, good, excellent p580.cpp: //medium, good, excellent, good dp, dp, memoization, math, number theory, combinatorics, good example p11085.cpp: //easy, brute force, 8 queens p489.cpp: //easy, trivial, good set application, simulation p10347.cpp: //hard, geometry, triangle area from 3 medians, short, bad p11099.cpp: //medium, number theory, factoring, sieve, efficiency p130.cpp: //medium, math, mod, josephus p10854.cpp: //medium, dp, number of execution paths p10891.cpp: //medium, dp, game, minimax p10708.cpp: //easy, math, geometry, closest point on a line, pursuit lines, UNSOLVED: WA p113.cpp: //hard, math, big int, n'th root, roots, log, cheated with long doubles p10374.cpp: //easy, elections, map, io, input, output, careful reading, good, excellent p10356.cpp: //medium, graphs, shortest path, shortest even-length path, dijkstra, good p11727.cpp: //easy, trivial p186.cpp: //medium, graphs, shortest path with path recovery p10718.cpp: //easy, bitmasks, bit masks, greedy, careful programming, short p918.cpp: //math, complex numbers, mandelbrot set, fractals, doubles, useful p574.cpp: //medium, dp, partition, coins, math, stl, iterators, reverse iterators p123.cpp: //medium, sorting, stable sort, parsing, good, excellent p10103.cpp: //hard, simulation, brute force p333.cpp: //easy, input, getline, parsing, good, excellent p11748.cpp: //easy, graphs, bfs, elections, good, excellent p10008.cpp: //easy, trivial, datastructures, map, cryptanalysis, good, excellent, short p10198.cpp: //medium, math, dp, big int, partition special case p294.cpp: //medium, math, number theory, primes, sieve, factoring, number of divisors, good, excellent p641.cpp: //medium, good, short, math, number theory, gcd, inverse, euclid p11518.cpp: //easy, graphs, flood fill, dfs, bfs p10284.cpp: //medium, careful coding p10088.cpp: //medium, math, geometry, number theory, gcd, pick's theorem, polygon area, good, excellent p915.cpp: //medium, geometry, simulation, bad p11523.cpp: //medium, dp, blocks p10324.cpp: //medium, optimization, running sum p376.cpp: //easy, geometry, triangles, output, bad p10361.cpp: //easy, parsing p741.cpp: //hard, strings, burrows-wheeler transform, encryption, cool, good, excellent, useful p523.cpp: //multiple input, hard, graphs, all pairs shortest path, floyd-warshall with path recovery, good p10810.cpp: //hard, bubble sort, permutations, number of swaps, good, excellent p10596.cpp: //easy, graphs, union-find, euler path p10032.cpp: //medium, coins, dp p11092.cpp: //medium, grids, spirals, hexagonal grid, classic p519.cpp: //hard, backtracking, brute force, jigsaw puzzle p10694.cpp: //medium, big int, math, combinatorics, binomial coefficients p11150.cpp: //medium, greedy, dp, simulation, good, excellent p11609.cpp: //easy, math, combinatorics, number theory, successive squaring p571.cpp: //medium, math, water jugs, dp, memoization, number theory, good, bfs, excellent, macros p297.cpp: //medium, quad trees, image encoding, recursive, good, excellent p10153.cpp: //medium, geometry, spherical coordinates, UNSOLVED: WA. no idea why. p11717.cpp: //easy, simulation p324.cpp: //medium, big int, factorial p531.cpp: //medium, dp, lcs, longest common subsequence, path recovery, classic p10573.cpp: //medium, geometry, circles inscribed in circles p10165.cpp: //easy, math, nim, game, good, excellent, short, tiny p588.cpp: //easy, geometry, star polygon on just rectangles, good, excellent p11081.cpp: //medium, dp, lcs, longest common subsequence p736.cpp: //multiple input, easy, word search on a grid while skipping space, barely fast enough p10066.cpp: //easy, dp, lcs, longest common subsequence, good p11716.cpp: //easy, trivial p10183.cpp: //easy, math, fibonacci, big int, binary search, good p11068.cpp: //easy, geometry, line intersection p10298.cpp: //medium, strings, see 455 p424.cpp: //medium, big int p11176.cpp: //hard, dp, probability, good, excellent p10147.cpp: //multiple input, medium, mst, kruskal's, good p10179.cpp: //easy, number theory, euler phi, totient function p11687.cpp: //easy, simulation, tricky p431.cpp: //medium, dp, knapsack p10002.cpp: //medium, math, geometry, center of mass of a convex polygon p11353.cpp: //medium, sieve, primes, sort p11743.cpp: //easy, trivial p11534.cpp: //hard, game theory, nimbers, sprague-grundy numbers, good p10118.cpp: //medium, dp, memoization, good, excellent p11080.cpp: //medium, graphs, bfs, dfs, bipartite graphs p140.cpp: //medium, graphs, permutation, brute force, bandwidth, speed p10532.cpp: //medium, math, number theory, combinatorics, dp, memoization, good p11042.cpp: //easy, math, complex numbers, brute force p725.cpp: //easy, brute force, map, io, good, cute p320.cpp: //easy, simulation, border colouring p10077.cpp: //easy, math, binary search, stern-brocot fractions, short, good, excellent p635.cpp: //easy, simulation, cards, careful programming p533.cpp: //medium, parsing, infix expressions, UNSOLVED: Fails before the end of the line?! p10345.cpp: //hard, geometry, packing, UNSOLVED: difficult little bugger p449.cpp: //medium, parsing, io, ugly, careful programming p388.cpp: //medium, bfs, graphs p11106.cpp: //medium, greedy, sorting, geometry, good p11729.cpp: //easy, scheduling p11123.cpp: //medium, geometry, sorting, the number of trapezoids formed out of n points, UNSOLVED: TLE p148.cpp: //hard, strings, anagrams, backtracking p530.cpp: //easy, math, number theory, pascal, pascal's triangle, binomial p534.cpp: //medium, graphs, mst, kruskal's, shortest path, dijkstra, classic, good, excellent p11628.cpp: //easy, gcd, useless input p10065.cpp: //medium, geometry, convex hull, area of a polygon p11776.cpp: //easy, scanline, sorting p12764.cpp: //easy, trivial, output p782.cpp: //easy, dfs, bfs, flood fill, bad p10150.cpp: //hard, graphs, bfs, shortest path, words, efficiency, UNSOLVED: too slow with strings p167.cpp: //easy, brute force, 8 queens p274.cpp: //easy, graphs, bfs, dfs, flood fill p11165.cpp: //hard, bfs, lbfs minus, breadth-first search of the complement p10222.cpp: //easy, trivial, short p201.cpp: //medium, brute force, squares p11301.cpp: //medium, dp p816.cpp: //hard, graphs, bfs, shortest path, UNSOLVED: p10509.cpp: //easy, math, approximate cubic root, good p686.cpp: //easy, math, number theory, sieve, primes, goldbach, precomputation p10620.cpp: //easy, math, number theory, modular arithmetic, brute force p394.cpp: //easy p11121.cpp: //easy, trivial, math, base conversion p11117.cpp: //medium, recursive, recursion, parsing p963.cpp: //hard, strings, trie, efficiency, ridiculous input p263.cpp: //easy, simulation, math, sorting p115.cpp: //easy, trees, genealogy, good, excellent p668.cpp: //multiple input, hard, math, number theory, number partitions, brute force, memoization, optimization p10336.cpp: //easy, dfs, flood fill, sorting p900.cpp: //easy, math, dp, good p10006.cpp: //medium, precomputation, carmichael numbers p704.cpp: //hard, backtracking, simulation, puzzle game, UNSOLVED: too slow. p11689.cpp: //easy, simulation p620.cpp: //easy, trivial, recursive, parsing, stupid, bad, poorly defined p787.cpp: //medium, dp, brute force, maximum substring product, maximum substring sum p11074.cpp: //easy, trivial p10892.cpp: //hard, math, number theory, factoring, lcm cardinality p11610.cpp: //hard, sieve, data structure, tournament trees p134.cpp: //medium, parsing, grammars, cfl, cfg, good, long p10805.cpp: //hard, graphs, minimum diameter spanning tree p10139.cpp: //medium, math, number theory, factorials, mod, m divides n!, good, excellent p10625.cpp: //medium, grammars, simulation p10378.cpp: //medium, math, complex numbers, output p11326.cpp: //easy, trivial, math, geometry p10793.cpp: //medium, graphs, all-pairs shortest path, floyd-warshall p242.cpp: //medium, coins, stamps, dp, classic p10651.cpp: //medium, bitmasks, dp, precomputation, good p11105.cpp: //easy, sieve, number theory p11096.cpp: //medium, geometry, convex hull, classic, gotcha p11103.cpp: //easy p10878.cpp: //easy, trivial, parsing, bitmasks, ascii, cypher p610.cpp: //medium, graphs, dfs, undirected to directed, good p10884.cpp: //hard, math, big int, dp p10842.cpp: //medium, graphs, bottleneck spanning tree, minimum spanning tree p10769.cpp: //easy, brute force, set p412.cpp: //easy, trivial, gcd, number theory, brute force p11094.cpp: //easy, flood fill, evil, gotcha
grep+ searches the database of Valladolid problems that I solved (or tried to). You can give it keywords like "dp", "graphs", "math", "brute force", etc. and it will give you a list of problem numbers that (in my opinion) match the keywords. The database contains 1408 problems.
Please ignore anything that appears after "UNSOLVED:". As you probably know, not being able to solve a problem after many attempts can be very frustrating.