题意: 有 n 个地板 ,你可以 从 i 跳到 i +1 也可以 跳到 i + 2 ,我们的任务是 从 i 跳到 n 下雨了 ,每个 地板 有 能够 坚持的 天数 a[i] ,
题解: dp .
1#include<cstdio>
2#include<cstring>
3#include<cmath>
4#include<iostream>
5#include<algorithm>
6#include<
set>
7#include<map>
8#include<queue>
9#include<vector>
10#include<
string>
11#defineMin(a,b)a<b?a:b
12#defineMax(a,b)a>b?a:b
13#defineCL(a,num)memset(a,num,sizeof(a));
14#definemaxn1100
15#defineeps1e-6
16#defineinf9999999
17#defineread()freopen("data.in","r",stdin);
18usingnamespacestd;
19inta[maxn];
20intdp[maxn];
21intmain()
22{
23intn,m;
24intans,i,j;
25//read();
26while(scanf(
"%d",&n)!=EOF)
27{
28for(i=
0;i<n;i++)
29{
30scanf(
"%d",&a[i]);
31}
3233for(i=
0;i<n;i++)dp[i]=a[i];
34dp[
1]=min(a[
0],a[
1]);
35for(i=
2;i<n;i++)
36{
37dp[i]=min(max(dp[i-
1],dp[i-
2]),a[i]);
3839}
40printf(
"%d\n",dp[n-
1]);
41}
42}
优质内容筛选与推荐>>
1、用搜索引擎搜索我的名字 @_@2、memcache和activemq使用连接,然后close3、OCP/OCA Oracle 学习0014、微信内置浏览器无法清除缓存问题5、测试流程图(转载)