function buildGraph(capacityGrid) {
const graph = new Graph();
const grd = swappableGrid(capacityGrid);
for (let row = 0; row < grd.length; row++) {
for (let col = 0; col < grd[0].length; col++) {
if (grd[row][col]) {
const currentNodeId = nodeId(row, col);
if (grd[row][col - 1]) {
graph.addEdge(currentNodeId, nodeId(row, col - 1));
}
if (grd[row][col + 1]) {
graph.addEdge(currentNodeId, nodeId(row, col + 1));
}
if (grd[row - 1] && grd[row - 1][col]) {
graph.addEdge(currentNodeId, nodeId(row - 1, col));
}
if (grd[row + 1] && grd[row + 1][col]) {
graph.addEdge(currentNodeId, nodeId(row + 1, col));
}
}
}
}
return graph;
}