记录编号 37538 评测结果 AAAAAAAAAA
题目名称 导弹系统 最终得分 100
用户昵称 GravatarTBK 是否通过 通过
代码语言 C++ 运行时间 0.044 s
提交时间 2012-04-01 10:36:52 内存使用 0.28 MiB
显示代码纯文本
#include <iostream> 
#include <cstdio> 
#include <cstdlib> 
#include <cmath> 
#include <cstring> 
#include <string> 
#include <iomanip> 
#include <vector> 
#include <set> 
#include <algorithm> 
#define MAXN 0x7fffffff 
using namespace std; 
int a[1000],b,c,d,s,f[1000][2]; 
int main(void) 
{ 
    freopen("missilea.in","r",stdin); 
    freopen("missilea.out","w",stdout); 
    scanf("%d",&b); 
    while (b!=0) 
    { 
        s=1; 
        for (c=0;c<b;c++) scanf("%d",&a[c]); 
        for (c=0;c<1000;c++)  
        { 
            f[c][1]=-MAXN; 
            f[c][0]=-MAXN; 
        } 
        f[0][1]=1; 
        for (c=1;c<b;c++) 
        { 
            for (d=c-1;d>=0;d--) 
            { 
                if ((f[d][0]!=-MAXN)&&(a[c]>a[d])) f[c][1]=f[c][1]>f[d][0]+1?f[c][1]:f[d][0]+1; 
                if ((f[d][1]!=-MAXN)&&(a[c]<a[d])) f[c][0]=f[c][0]>f[d][1]+1?f[c][0]:f[d][1]+1; 
            } 
            if ((f[c][0]==-MAXN)&&(f[c][1]==-MAXN)) f[c][1]=1; 
        } 
        for (c=0;c<b;c++) 
        { 
            s=f[c][0]>s?f[c][0]:s; 
            s=f[c][1]>s?f[c][1]:s; 
        } 
        printf("%d\n",s); 
        scanf("%d",&b); 
    } 
    fclose(stdin); 
    fclose(stdout); 
    return 0; 
}