Water Treatment Plants (UVa Live Archive Europe - Southwestern - 2002/2003 Porto (Portugal))

http://acmicpc-live-archive.uva.es/nuevoportal/data/problem.php?p=2685

問題

都市がn個ある。汚水を処理して川に流したいのだが、自分の都市で処理するか、下流、上流の都市に処理してもらう方法がある。都市間につながっているパイプは一方向にしか水を流せない。水の処理の仕方は何通りあるか。
1<=n<=100

解法

DPで解く。多倍長整数を使うのがめんどかったのでrubyで書いて埋め込んだ。