hdu 3650 Hot Expo
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;
#define MAXN 111
struct TNode
{
int beg;
int end;
};
TNode vTime[MAXN];
bool visited[MAXN];
inline bool myCmp(const TNode &t1, const TNode &t2)
{
//wrong:
//if(t1.end != t2.end) return t1.end < t2.end;
//else return t1.beg < t2.beg;
if(t1.beg != t2.beg) return t1.beg < t2.beg;
else return t1.end < t2.end;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("indata.txt", "r", stdin);
#endif
int n;
while(scanf("%d", &n), n)
{
int i, j;
for(i = 0; i < n; i++)
{
scanf("%d %d", &vTime[i].beg, &vTime[i].end);
}
sort(vTime, vTime + n, myCmp);
memset(visited, 0, sizeof(visited));
int cityNum = n;
int ans = 0;
while(cityNum > 0)
{
ans++;
int preEnd;
for(i = 0; i < n; i++)
{
if(!visited[i])
{
cityNum--;
visited[i] = true;
preEnd = vTime[i].end;
break;
}
}
if(cityNum <= 0) break;
for(j = i + 1; j < n; j++)
{
if(!visited[j] && preEnd < vTime[j].beg)
{
cityNum--;
visited[j] = true;
preEnd = vTime[j].end;
}
}
}
printf("%d\n", ans);
}
return 0;
}
浙公网安备 33010602011771号