[BeijingWc2008]雷涛的小猫

[BeijingWc2008]雷涛的小猫

Time Limit:50000MS Memory Limit:165536K
Total Submit:22 Accepted:15
Case Time Limit:10000MS

Description


Input

Output

Sample Input

Sample Output

Hint

Source
这题算是水题了。。从低到高转移,并且记录每行的最大值,就可以了囧。。
Code:

#include<cstdio>#include<iostream>using namespace std;const int maxn=2000+10;int n,h,d;int N[maxn][maxn]={0};void Init(){ scanf("%d %d %d",&n,&h,&d); for(int i=0;i<n;i++) { int s,x;scanf("%d",&s); while(s–)scanf("%d",&x),N[i][x]++; }}int Best[maxn]={0};int Dp[maxn]={0};void Work(){ for(int i=1;i<=h;i++) for(int j=0;j<n;j++) { if(i-d>=0)Dp[j]>?=Best[i-d]; Dp[j]+=N[j][i]; Best[i]>?=Dp[j]; } printf("%dn",Best[h]);}int main(){ //freopen("in","r",stdin); Init(); Work();}8

Leave a Reply

Your email address will not be published. Required fields are marked *