pub fn find_clusters(grid: &PercolationGrid) -> Vec<Vec<(usize, usize)>>
Find all connected clusters of open sites using union-find. Returns a vector of clusters, each cluster being a vector of (x, y) coordinates.