会场安排问题---洗澡回来希望可以看到得到解决
http://acm.nyist.net/JudgeOnline/problem.php?pid=14
题目在这个链接里面,下面的程序是我写的,
求解哪里出问题,提交都是WA!在些先说声谢谢!
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
struct Activity
{
int begin;//活动开始时间
int end; //活动结束时间
};
int compare(const void *p1, const void *q1)
{
Activity *p = (Activity *)p1;
Activity *q = (Activity *)q1;
return p->end > q->end ? 1 : -1;
}
int main()
{
int sample;
cin >> sample;
while (sample--)
{
int nNumOfAct;
cin >> nNumOfAct;//活动数量
Activity *act = new Activity[nNumOfAct];
for (int i = 0; i < nNumOfAct; i++)
scanf("%d %d", &act[i].begin, &act[i].end);
qsort(act, nNumOfAct, sizeof(Activity), compare); //从小到大排序
int cnt = 1, i, j;//至少能安排一个活动
int e = act[0].end;
for (i = 1; i < nNumOfAct; i++)
{
if (act[i].begin == act[i].end)
continue;//如果开始与结束的时候相同,那么就不能安排
else if (act[i].begin > e)
{
cnt++;
e = act[i].end;
}
}
cout << cnt << endl;
delete []act;
}
return 0;
}
[解决办法]
不喜欢AMC啊 但是还是顶一下