algs4 0.7.0

Algorithms, 4ed. MOOC in Coursera. in Rust.
#![allow(unused_imports)]
extern crate algs4;

use std::io::prelude::*;
use std::io;

use algs4::fundamentals::union_find::UF;
use algs4::fundamentals::union_find::quick_find;
use algs4::fundamentals::union_find::quick_union;
use algs4::fundamentals::union_find::weighted_quick_union;
use algs4::fundamentals::union_find::improved;

fn main() {
    let mut lines = io::BufReader::new(io::stdin()).lines();

    let n = lines.next().unwrap().unwrap().parse().unwrap();
    let mut uf: quick_find::UnionFind = UF::new(n);

    for line in lines {
        let segs: Vec<usize> = line.unwrap().split(' ').map(|n| n.parse().unwrap()).collect();
        let p = segs[0];
        let q = segs[1];

        if !uf.connected(p, q) {
            uf.union(p, q);
            println!("{} {}", p, q)
        }
    }

    println!("{}", uf);
}