ACM Midatlantic programming contest 2014, Problem F Thoughts: Pseudocode: 1. Seek a path P from i,j to k,l. If none: Print "Yes", exit. Else continue. 2. Let S be the set of points in P other than i,j and k,l. While S is not empty Pick a point (x,y) in S. //Should we choose in a certain order? Place an (additional) obstacle at x,y. Seek a path Q from i,j to k,l. //Should we randomize the search a bit? If none: Print "Yes", exit. Else S = S intersect the points of Q. //Refines a little the class discussion. Undo the obstacle at x,y. Print "No". Details needed: How to search for a path with given set of obstacles? How to represent sets of points to have easy intersection and selection. Representation of the board (with obstacle placement).