poj2533 测试正确,提交无限WA= =求大神 5

#include"iostream"#include"cstring"usingnamespacestd;intn;ints[1005];intnum[1005][100... #include"iostream"
#include"cstring"

using namespace std;

int n;
int s[1005];
int num[1005][1005];
int c=0;
int r=0;
int longest(int i,int x)
{

for(int k=i+1;k<n;k++)
{
if(s[k]>s[i])
{
longest(k,x+1);
}
}
num[r][c] = x;
c++;
return 0;
}
int main()
{
cin>>n;
memset(s,0,sizeof(int)*(n));
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
num[i][j] =0;
}
}
for(int i=0;i<n;i++)
{
cin>>s[i];
}
int x=1;
for(int j=0;j<n;j++)
{
x=1;
c=0;
r=j;
longest(j,x);
}
int tmax = num[0][0];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(num[i][j]>=tmax) tmax = num[i][j];
}
}
cout<<tmax;
return 0;
}

求解,求帮。
用递归做的, num 这个数组是存放每一个子序列长度,r是行,c是列,然后找最大值。
展开
 我来答
匿名用户
2015-12-02
展开全部
又不是能过测试数据就能过题目的呢。。。首先你得把最后一行的system("pause")给注释掉,然后我可以告诉你你的算法是过不去的,原因是那个题的范围特别大,必须得优化统计的速度才可以,具体算法你可以去网上搜poj1007,在这里不详细说了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式