Here is the problem's link http://mirror.codeforces.com/contest/877/problem/D In this problem I used BFS to solve it. In my WA submission I choose to break when the distance from the origin of the cell I am traversing is smaller or equal to the distance of the point of the front of the queue plus 1. In my accepted solution I choose to break when the distance from the origin of the cell I am traversing is smaller or equal to the distance of the point of the front of the queue. But I can't understand why my first solution fail. Can anyone give me the explanation ? Correct : http://mirror.codeforces.com/contest/877/submission/31687084 WA: http://mirror.codeforces.com/contest/877/submission/31686998