首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

ACM_贪口算法

2013-03-27 
ACM_贪心算法?本帖最后由 nfedroa 于 2013-03-21 22:23:16 编辑http://icpc.ahu.edu.cn/OJ/Problem.aspx?i

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;
}

[解决办法]
引用:
应该是比较以高降序和以宽降序这两种情况的时候哪种收费较少

同时:
以高降序高相等时宽降序
以宽降序宽相等时高降序

热点排行