poj 1887 LDS(最大下降字串)
和poj2533是一样的。
#include <iostream> #include <fstream> using namespace std; #define MAX(a,b) (a>b?a:b) #define MAXN 100005 int A[MAXN],D[MAXN]; int main() { int i,j,ca,max,len,n; ca=1; freopen("in.txt","r",stdin); while(1) { //memset(D,0,sizeof(D)); i=1; len=0; while(scanf("%d",&n),n!=-1) { A[i++]=n; len++; } if(len==0) break; D[1]=1; max=1; for(i=2; i<=len; i++) { D[i]=1; for(j=1; j<i; j++) { if(A[i]<A[j] && D[i]<=D[j]) { D[i]=D[j]+1; } } } for(i=2; i<=len; i++) { max=MAX(max,D[i]); } printf("Test #%d:\n",ca++); printf(" maximum possible interceptions: %d\n",max); printf("\n"); } return 0; }
我是一名在校大学生,热爱编程,虽然起步晚了些,但我会努力的。呵呵!
数据结构 算法