public GraphProblem(String fileName, int numNodes, int s_Index)
			throws IOException {
		totalNumNodes = numNodes;
		startV = s_Index;
		originalGraph = new HashMap<Integer, HashMap<Integer, Integer>>();
		exploredNodes = new ArrayList<Integer>(totalNumNodes);
		unexploredNodes = new ArrayList<Integer>(totalNumNodes);
		shortestPathNum = new int[totalNumNodes];
		shortestPath = new HashMap<Integer, LinkedList<Integer>>();
		for (int i = 0; i < totalNumNodes; i++) {
			shortestPathNum[i] = 100000; // by default the +big number
			unexploredNodes.add(i + 1); // every node is unexplored at first
		}

		readFileIntoMemory(fileName);
	}