您的位置:首页 > 其它

NYOJ 14 会场安排问题

2011-12-23 20:43 267 查看
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=14

其实就是贪心算法,感觉写的跟昨天的动物统计差不多,错觉?直接水过。

表示代码中p=i错了,应该是p=i;当时写的时候不小心,已修改。。。。。

代码:

#include<stdio.h>
#include<algorithm>
using namespace std;
struct hc
{
int first;//开始时间**//
int last;//**结束时间**//
}w[10001];
bool comp(hc x,hc y)//**将时间进行比较,找结束时间最快的**//
{
if(x.last<y.last) return true;
return false;
}
int main()
{
int s,n,i,p,count;
scanf("%d",&s);
while(s--)
{
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d %d",&w[i].first,&w[i].last);
}
sort(w,w+n,comp);
p=0;count=1;//**因为是从第二个开始比较的,所以count初始为1**//
for(i=1;i<n;i++)
{
if(w[i].first>w[p].last)
{
count++;
p=i;//**比较后修改下标**//
}
}
printf("%d\n",count);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ini 算法