zoukankan      html  css  js  c++  java
  • nyist 17 -----纯递归纯递推--超时


    #include <iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    char a[10002];
    int b[10002];
    int n,ans;
    int f(int x)
    {
    int i,t;
    for(i=0;i<=x-1;i++)
    {
    t=f(i);
    if(a[i]<a[x] && b[x]<t+1) b[x]=t+1;
    }
    return b[x];
    }

    int main( )
    {
    int i,j,len;
    cin>>n;
    for(i=1;i<=n;i++)
    {
    scanf("%s",a);
    len=strlen(a) ;
    for(j=0;j<len;j++) b[j]=1;
    f(len-1);
    ans=1;
    for(j=0;j<len;j++)
    if(ans<b[j]) ans=b[j];
    cout<<ans<<endl ;
    }

    }

     

    *******************************************************************************************************************************

    #include <iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    char a[10002];
    int b[10002];
    int n,ans;
    int f(int x)
    {
    int i,t;
    if(b[x]>1) return b[x];

    for(i=0;i<=x-1;i++)
    {t=f(i);
    if(a[i]<a[x] && b[x]<t+1) b[x]=t+1;
    }
    return b[x];
    }

    int main( )
    {
    int i,j,len;
    cin>>n;
    for(i=1;i<=n;i++)
    {
    scanf("%s",a);
    len=strlen(a) ;
    for(j=0;j<len;j++) b[j]=1;
    f(len-1);
    ans=1;
    for(j=0;j<len;j++)
    if(ans<b[j]) ans=b[j];
    cout<<ans<<endl ;
    }

    }

     


    ******************************************************************************


    #include <iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    char a[10002];
    int b[10002];
    int n,ans;
    int f(int x)
    {
    int i,t;
    if(b[x]>0) return b[x];

    for(i=0;i<=x-1;i++)
    {t=f(i);
    if(a[i]<a[x] && b[x]<t+1) b[x]=t+1;
    }
    return b[x];
    }

    int main( )
    {
    int i,j,len;
    cin>>n;
    for(i=1;i<=n;i++)
    {
    scanf("%s",a);
    len=strlen(a) ;
    for(j=0;j<len;j++) b[j]=1;
    f(len-1);
    ans=1;
    for(j=0;j<len;j++)
    if(ans<b[j]) ans=b[j];
    cout<<ans<<endl ;
    }

    }

    ***************************************************************


    #include <iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    char a[10002];
    int b[10002];
    int n,ans;
    int f(int x)
    {
    int i,t;
    if(b[x]!=0) return b[x];

    for(i=0;i<=x-1;i++)
    {t=f(i);
    if(a[i]<a[x] && b[x]<t+1) b[x]=t+1;
    }
    return b[x];
    }

    int main( )
    {
    int i,j,len;
    cin>>n;
    for(i=1;i<=n;i++)
    {
    scanf("%s",a);
    len=strlen(a) ;
    for(j=0;j<len;j++) b[j]=0;
    f(len-1);
    ans=1;
    for(j=0;j<len;j++)
    if(ans<b[j]) ans=b[j];
    cout<<ans<<endl ;
    }

    }

  • 相关阅读:
    mysql零碎问题合集
    mysql 纵表转横表 需要用join不能直接where连接
    eclipse导出可执行jar包 报main function not found错误
    shell脚本将mysql查询结果制作成csv格式
    linux shell中把句子中的单词提取作为变量值 主要是使用了数组
    linux下文件字符编码转换
    Banner使用
    recyclerview的博客网址需要的权限
    okhttp权限
    Okhttp代码
  • 原文地址:https://www.cnblogs.com/2014acm/p/3907755.html
Copyright © 2011-2022 走看看