title: Knight's Shortest Path on Chessboard
body: <p>I've been practicing for an upcoming programming competition and I have stumbled across a question that I am just completely bewildered at. However, I feel as though it's a concept I should learn now rather than cross my fingers that it never comes up.</p>
  
  <p>Basically, it deals with a knight piece on a chess board. You are given two inputs: starting location and ending location. The goal is to then calculate and print the shortest path that the knight can take to get to the target location.</p>
  
  <p>I've never dealt with shortest-path-esque things, and I don't even know where to start. What logic do I employ to go about tackling this?</p>
  
  <p>P.S. If it's of any relevance, they want you to supplement the knight's normal moves by also allowing it to move to the four corners of the square formed by the (potentially) eight moves a knight can make, given that the center of the square is the knight's location.</p>