题目描述
电影节到了,这天各地放了多部电影,给定每部电影的放映区间,区间重叠的电影不能同时看(端点可以重合),问花花最多能看多少部电影。
输入
一个整数n(1<n<=100),表示总的电影数
n个区间
输出
花花最多能看多少部电影
样例输入
10 0 3 2 4 5 6 3 5 7 9 6 8 10 12 9 11 13 15 12 13 样例输出 7
#include <stdio.h>
int a(int time[], int index, int n)
{
int i, j,temp, tempindex=0, min=9999;
for (i = 0; i < 2 * n; i += 2)
{
if (time[index + 1] <= time[i])
{
temp = time[i + 1] - time[index + 1];
if (temp < min)
{
min = temp;
tempindex = i;
}
}
}
return tempindex != 0 ? tempindex : 0;
}
int main()
{
int n, time[200];
int i, j, temp, max = 0, cnt = 0;
scanf("%d", &n);
for (i = 0; i < 2 * n; i++)
{
scanf("%d", &time[i]);
}
for (i = 0; i < 2 * n; i += 2)
{
temp = i;
for (j = 0; j < n; j++)
{
if ((temp = a(time, temp, n)) != 0)
{
cnt++;
}
else
{
if (max < cnt)
{
max = cnt;
}
break;
}
}
cnt = 0;
}
printf("%d", max + 1);
}