我们可以用2x1的小矩形(下左)去横着或竖着覆盖更大的矩形,请问用8个2x1的小矩形无重叠覆盖一个2x8的大矩形(下右),共有多少种方法?
从左边起覆盖,
若第一次小矩形横着覆盖,有f(6)种方法,
若第一次小矩形竖着覆盖,有f(7)种方法,
即f(n) = f(n-1) + f(n-2)
也是属于斐波那契数列
int solve(int n){int res[] = {0,1};if(n < 2) return res[n];int fa = 1, fb = 1, fn = 0;for(int i = 2; i <= n; i++){fn = fa + fb;fa = fb;fb = fn;}return fn;}
本文发布于:2024-02-01 08:04:16,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170674585935080.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |