separate solver code in cuckoo_solve.h
use listings package for source code
state assumption and simplify