ACM_贪心算法?
本帖最后由 nfedroa 于 2013-03-21 22:23:16 编辑 http://icpc.ahu.edu.cn/OJ/Problem.aspx?id=511
思路是高降序,高相等宽降序。思路应该是对的啊,但是AC 不了。
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
typedef struct{
int x;
int y;
}node;
bool cmpy(int a,int b)
{
return a>b;
}
bool cmp(node a,node b)
{
if(a.x!=b.x)
return a.x>b.x;
return cmpy(a.y,b.y);
}
int main()
{
int t,n,i,sum;
node a[5000];
cin>>t;
while(t--)
{
sum=1;
if(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d%d",&a[i].x,&a[i].y);
sort(a,a+n,cmp);
for(i=0;i<n-1;i++)
{
if(a[i].y<a[i+1].y)
sum++;
}
cout<<sum<<endl;
}
else
break;
}
return 0;
}
[解决办法]
同时:
以高降序高相等时宽降序
以宽降序宽相等时高降序