【HDOJ】2037 今年暑假不AC

时间:2023-12-14 14:33:14

qsort排序后DP,水题。注意,数组开大点儿,把时间理解为0~23,开太小会wa。

#include <stdio.h>
#include <stdlib.h> #define MAXNUM 100 int comp(const void *a, const void *b) {
return *(int *)a - *(int *)b;
} int mymax(int a, int b) {
return (a>b) ? a:b;
} int main() {
int time[MAXNUM][], n;
int i, j, end;
int num[MAXNUM]; while (scanf("%d", &n) != EOF && n) {
end = ;
for (i=; i<n; ++i) {
scanf("%d %d", &time[i][], &time[i][]);
if (time[i][] > end)
end = time[i][];
} qsort(time, n, sizeof(int)*, comp);
memset(num, , sizeof(num)); for (i=; i<n; ++i) {
if (num[time[i][]]+ > num[time[i][]]) {
num[time[i][]] = num[time[i][]]+;
for (j=time[i][]; j<=end; ++j) {
num[j] = mymax(num[j], num[time[i][]]);
}
}
} printf("%d\n", num[end]);
} return ;
}