Apple Catching POJ - 2385
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int dp[2][31];//在第i棵樹時,步數為j時取的最大蘋果數//0代表第一棵樹,1代表第二棵樹;
int a[1001];
int main()
{
int treenumber,step;
int pos;
int ans=0;
memset(dp,0,sizeof(dp));
scanf("%d%d",&treenumber,&step);
for(int i=0;i<treenumber;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<treenumber;i++)
{
if(i==0)
{
if(a[0]==1)//牛開始站在第一棵樹下,如果蘋果開始是從第一棵樹下落下的根據dp陣列的定義
dp[0][0]=1;// 第一棵樹下不移動,接到的最大蘋果數目為1;
else if(a[0]==2)//如果蘋果開始是從第二棵樹上落下,那麼牛需要從第一棵樹移動到第二棵樹、
dp[1][1]=1;//接到的蘋果數目為1;
continue;
}
for(int j=step;j>=0;j--)
{
if(j)
dp[a[i]-1][j]=max(dp[a[i]-1][j],dp[a[i]%2][j-1])+1;//這裡的 dp[a[i]-1][j]+1表示這隻牛沒有移動
else // 並且接到了1個蘋果,dp[a[i]%2][j-1]+1表示
dp[a[i]-1][j]++; //牛移動從另外一棵樹下,移動到當前樹下接到1個蘋果
if(dp[a[i]-1][j]>ans)
ans=dp[a[i]-1][j];
}
}
printf("%d\n",ans);
}
相關文章
- GC2385 datasheet/規格書,GC2385攝像頭晶片資料GC晶片
- poj 2031
- poj 3461
- 2385. 感染二叉樹需要的總時間二叉樹
- poj 3278 BFS
- POJ 2975 Nim
- poj3417
- POJ 1089 Intervals
- POJ 3414 Pots
- Network(POJ-1144)
- POJ 2553 The Bottom of a Graph
- POJ 1861 Network (Kruskal)
- POJ 1442 Black Box
- POJ 2799 IP Networks
- POJ3259-WormholesWorm
- POJ3414-Pots
- 【BFS】poj 3414 Pots
- Sign In with AppleAPP
- CF #683 (Div. 2)D. Catching Cheaters【最長公共子序列LCS變形】
- Road Construction(POJ-3352)Struct
- Redundant Paths(POJ-3177)
- The Cow Prom(POJ-3180)
- Network of Schools(POJ-1236)
- POJ3414 Pots【BFS】
- POJ 3071 Football(概率DP)
- [poj1275][Cashier Employment]
- POJ - 1125 Stockbroker Grapevine(Java)Java
- Dungeon Master(POJ-2251)AST
- POJ 1611 The Suspects 圖論圖論
- POJ 3267 The Cow Lexicon(dp)
- POJ3126-Prime Path
- POJ1426-Find The Multiple
- POJ2251 Dungeon MasterAST
- POJ 2184 (01揹包)
- POJ3278 Catch That Cow
- POJ - 3090 Visible Lattice Points
- POJ 2355 Railway Ticket problemAI
- Apple音樂轉換器: Sidify Apple Music Converter for macAPPMac