标签:
Description
Input
Output
Sample Input
#include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> using namespace std; const int maxn=100005; int dp[maxn][15]; int main(){ int n; while(scanf("%d",&n)!=EOF){ if(n==0) break; memset(dp,0,sizeof(dp)); int x=-1,y; int tmp_time,locate; for(int i=1;i<=n;i++){ scanf("%d%d",&locate,&tmp_time); dp[tmp_time][locate]++; x=max(x,tmp_time); } for(int i=1;i<=4;i++){ for(int j=0;j<=4-i;j++){ dp[i][j]=0; dp[i][10-j]=0; } } for(int i=2;i<=x;i++){ for(int j=0;j<11;j++){ if(j==0){ dp[i][j]+=max(dp[i-1][j],dp[i-1][j+1]); } else if(j==10){ dp[i][j]+=max(dp[i-1][j],dp[i-1][j-1]); } else{ int tmp=max(dp[i-1][j-1],dp[i-1][j+1]); dp[i][j]+=max(tmp,dp[i-1][j]); } } } int ans=-1; for(int i=0;i<11;i++) ans=max(ans,dp[x][i]); printf("%d\n",ans); } return 0; }
标签:
原文地址:http://www.cnblogs.com/13224ACMer/p/4990170.html