hdu 1160 FatMouse's Speed帮忙看看哪错了,为啥WA 5

#include<iostream>#include<algorithm>#include<cstring>usingnamespacestd;constintmm=10... #include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int mm=1010;
class node
{
public:
int weight,speed,id;
}f[mm];
int dp[mm],path[mm];
int pos;
bool cmp(node a,node b)
{
if(a.weight!=b.weight)return a.weight<b.weight;
else return a.speed>b.speed;
}
int main()
{ pos=0;
while(cin>>f[pos].weight>>f[pos].speed)f[pos].id=++pos;
sort(f,f+pos,cmp);
for(int i=0;i<pos;i++)
dp[i]=1,path[i]=-1;
for(int i=pos-2;i>=0;i--)
{
for(int j=i+1;j<pos;j++)
if(f[i].speed>f[j].speed&&f[i].weight<f[j].weight)
{
if(dp[i]<dp[j]+1)dp[i]=dp[j]+1,path[i]=j;
}
///else if(dp[i]<dp[j])dp[i]=dp[j],path
}
int z,_max=0;
for(int i=0;i<pos;i++)
if(dp[i]>_max)_max=dp[i],z=i;
cout<<_max<<"\n";
while(1)
{ if(z==-1)break;
cout<<f[z].id<<"\n";
z=path[z];
}
}
展开
 我来答
datangzhiban
2013-01-28 · TA获得超过259个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:105万
展开全部
程序中for循环里面有i重复声明了,第一个for循环已经声明i为int类型了,之后的for循环不能够再次声明了,它相当于main函数中的全局变量。
for(int i=pos-2;i>=0;i--)、for(int i=0;i<pos;i++)这里不可以声明i。

另外,main函数应该有个返回值:return 0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式