概要
f(f(x))=x となる写像
ライブラリ
template<class T, class U>class lib_involution { map<T,U> f_xa; map<U,T> f_xb; ll set_a; ll set_b; public: lib_involution(ll sa, ll sb):set_a(sa),set_b(sb) {} vo add(T xa, U xb) { f_xa[xa]=xb,f_xb[xb]=xa; } au f(ll s, au x) { return (s==set_a)?f_xa[x]:f_xb[x]; } };