//! House Robber (Generic, Production-Grade)
//!
//! Returns the maximum amount that can be robbed without robbing adjacent houses.
//!
//! # Type Parameters
//! * `T`: Value type. Must implement `Copy` + `Ord` + `Add<Output = T>` + `Default`.
//!
//! # Example
//! ```rust
//! use pofk_algorithm::dp_algorithms::house_robber::*;
//! let nums = vec![1,2,3,1];
//! assert_eq!(house_robber(&nums), 4);
//! ```
use Add;