标签:
#include <iostream> #include <algorithm> #include <cmath> #include <cstring> #include <cstdio> using namespace std; int data[100000][12],dp[100000][12]; int main() { int n,a,b,t; while(cin>>n&&n) { t=0; memset(data,0,sizeof(data)); memset(dp,0,sizeof(dp)); for(int i=0;i<n;i++) { scanf("%d%d",&a,&b); data[b][a]++; if(b>t) t=b; } for(int i=0;i<11;i++) dp[t][i]=data[t][i]; for(int i=t-1;i>=0;i--) for(int j=0;j<11;j++) { if(j==0) dp[i][j]=max(dp[i+1][j],dp[i+1][j+1])+data[i][j]; else dp[i][j]=max(max(dp[i+1][j+1],dp[i+1][j]),dp[i+1][j-1])+data[i][j]; } cout<<dp[0][5]<<endl; } return 0; }
标签:
原文地址:http://www.cnblogs.com/nefu929831238/p/5440322.html