问题标题: 为什么错了?

1
3
已解决
陆麟瑞
陆麟瑞
资深天翼
资深天翼
#include <bits/stdc++.h>
using namespace std;
struct area{
    int x,y;
};
area a[10000];
int f[10000];
bool cmp(area a,area b)
{
    return a.x<b.x;
}
int main()
{
    int n;
    cin>>n;
    for(int i=1; i<=n; i++)
    {
        cin>>a[i].x>>a[i].y;
    }
    sort(a+1,a+n+1,cmp);
    for(int i=1; i<=n; i++)
    f[i]=1;
    int ans=1;
    for(int i=2; i<=n; i++)
    {
        for(int j=1; j<i; j++)
        if(a[i].y>a[j].y)
        {
            f[i]=max(f[i],f[j]+1);
            ans=max(ans,f[i]);
        }
    }
    cout<<ans;
    return 0;
}

爆零了


5
已采纳
葛新
葛新
资深守护
资深守护

你要先对输入的x,y进行比较,x > y要swap(x,y).

0
0
0
0
0
0
0
我要回答