博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1143
阅读量:4708 次
发布时间:2019-06-10

本文共 604 字,大约阅读时间需要 2 分钟。

地址:

题意:3*n的矩形用2*1的砖堆法。

mark:wa了,两次。。一次数组只开到30了,一次循环跳出条件写错了。。囧……递推就ok了。

    我是画图一步一步推出来的。首先肯定是2个2个增加的。首先考虑不交叉的f(n) = 3*f(n-2),再考虑交叉的,会发现规律,2*(f(n-4)+f(n-6)+……)

    ps:后来看大牛的代码,发现公式化简了可以降低复杂度,虽然这题n最大才30。f(n) = 4*f(n-2)-f(n-4)

代码:

#include 
int main(){ int n,i,j,a[31] = {
1}; for(i = 1; i <= 30; i++) { if(i & 1) {a[i] = 0;continue;} a[i] = 3*a[i-2]; for(j = 0 ; j < i-3; j += 2) a[i] += 2*a[j]; } while(scanf("%d", &n), n >= 0) printf("%d\n", a[n]); return 0;}

转载于:https://www.cnblogs.com/andre0506/archive/2012/07/03/2575405.html

你可能感兴趣的文章
表达式语言
查看>>
jQuery EasyUI实现关闭全部tabs
查看>>
iOS项目之WKWebView替换UIWebView相关
查看>>
Lambda表达式效率问题
查看>>
【转载】iOS 设置Launch Image 启动图片(适用iOS9)
查看>>
最快得到MYSQL两个表的差集
查看>>
UML类图关系
查看>>
清理Visual Studio打开的项目和文件、查找和最近引用组件痕迹
查看>>
10.11NOIP模拟题(3)
查看>>
正则表达式速查表
查看>>
项目开源-基于ASP.NET Core和EF Core的快速开发框架
查看>>
(3)SpringMVC的Json数据交互
查看>>
UVA 580 - Critical Mass(简单DP)
查看>>
iOS应用日志:开始编写日志组件与异常日志
查看>>
Linux通过NFS实现文件共享
查看>>
SCTP 学习
查看>>
ELK-“线上标准文档”——测试
查看>>
自制Javascript分页插件,支持AJAX加载和URL带参跳转两种初始化方式,可用于同一页面的多个分页和不同页面的调用...
查看>>
Firefox: Connection Interrupted | The connection to the server was reset while the page was loading
查看>>
JSP Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING
查看>>