1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// re-export frequently used std items
pub use std::cmp::*;
pub use std::collections::*;

pub use itertools::*;
pub use memoise::*;

// input! macro
pub use proconio::marker::*;
pub use proconio::*;

// num stuffs
pub use num::complex::Complex;
pub use num::integer::*;

pub use num::*;

// re-exports
pub use crate::dijkstra::Dijkstra;
pub use crate::modulo::*;
pub use crate::total_ord::*;
pub use crate::union_find::UnionFind;
pub use crate::utils::*;

pub const ALPHABETS: [char; 26] = [
    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
    't', 'u', 'v', 'w', 'x', 'y', 'z',
];

pub const DIRE: [(isize, isize); 4] = [(1, 0), (0, 1), (-1, 0), (0, -1)];
pub const DIRE8: [(isize, isize); 8] = [
    (1, 0),
    (1, 1),
    (0, 1),
    (-1, 1),
    (-1, 0),
    (-1, -1),
    (0, -1),
    (1, -1),
];