首页 > 代码库 > poj 2533 错误的递归函数
poj 2533 错误的递归函数
#include <iostream>#define N 10005using namespace std;int a[N],n;int f( int x){ int i,t; if (x==0) return 1; //第一个元素 下标为0 for (t=0,i=0;i<x; i++) //下标不为0 if (a[x]>=a[i]) t=max(f(i)+1,t); // f(i)+1此时的长度+1,,,,t 原来的长度 return t; }int main(int argc, char *argv[]){ int i,j; cin>>n; for (i=0;i<n; i++) cin>>a[i]; cout<<f(n-1)<<endl; return 0;}
#include <iostream>#define N 10005using namespace std;int a[N],n;int f( int x){ int i,t; if (x==0) return 1; for (t=0,i=0;i<x; i++) if (a[x]>a[i]) t=max(f(i),t); return t+1; }int main(int argc, char *argv[]){ int i,j; cin>>n; for (i=0;i<n; i++) cin>>a[i]; cout<<f(n-1)<<endl; return 0;}
#include <iostream>
#define N 10005
using namespace std;
int a[N],n;
int f( int x)
{ int i,t;
if (x<=0) return 1;
t=1;
for (i=0;i<x; i++)
if (a[x]>a[i]) t=max(f(i)+1,t); // f(i)+1此时的长度+1,,,,t 原来的长度
// 有时候对,有时候不对
return t;
}
int main(int argc, char *argv[])
{ int i,j;
cin>>n;
for (i=0;i<n; i++)
cin>>a[i];
cout<<f(n-1)<<endl;
return 0;
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。