private void setDistanceUtil(Queue<Point> q, Cell input[][], Point p, Point newPoint, int distance[][], boolean visited[][]){
		if(newPoint != null && !visited[newPoint.x][newPoint.y]){
			if(input[newPoint.x][newPoint.y] != Cell.GUARD && input[newPoint.x][newPoint.y] != Cell.BLOCK){
				distance[newPoint.x][newPoint.y] = Math.min(distance[newPoint.x][newPoint.y], 1 + distance[p.x][p.y]);
				visited[newPoint.x][newPoint.y] = true;
				q.offer(newPoint);
			}
		}
	}
@Date 07/05/2015
@author Tushar Roy

Given a 2 D floor plan with empty space, block and multiple exits. Find distance of every empty space
from nearest exits in case of fire emergency.

Idea is to start from every exit position and do BFS search in all 4 directions and maintain the distance of every
space from exit. If another exit in future iterator is closer than already calculated exit then update
the distance.

Space complexity is O(n*m)
Time complexity is O(number of exit * m * n);
src/com/interview/graph/ShortestDistanceFromExit.java