安排上机

Description
每年新学期,计算中心的老师都要安排上机时间。 现设有n个班级E={1, 2, 3, …, n}, 要使用8号机房,同一时间内只允许一个班级使用该机房。设班级i上机的起止时间区间为[si,fi),如果班级i使用了8号机房, 则它在时间[si,fi)内占用该机房,若区间[si,fi)和[sj,fj)不相交,则称班级i和j均可安排上机的。现在要求你安排一下上机情况,使尽可能多的班级能有机会上机。
Input
有多组测试数据。 第1行先输入整数t(1<= t <= 100),表示共有t组测试数据。 每组测试数据输入共有3行, 第1行为一个整数n(1 <= n <= 2000) 表示班级数 第2行共n个整数,为这n个班级希望上机的开始时间(以某一时间为基准) 第3行共n个整数,为这n个班级上机的终止时间
Output
对于每个测试案例输出最多可以安排上机的班级

要用到结构数组,因为每个班的开始与结束时间是需要绑定的
基本思路:贪心算法,排到的班级结束得尽可能早,这样才能使安排的班级更多

#include 
struct time{
    int l,r;
};

int main(){
	struct time a[2100],temp; 
    int i,j,k,t,n,index;
    scanf("%d",&t);
    for(k=0;k=end){
			end=a[i].r;
			count++;}
        }
        printf("%d\n",count);
    }
    return 0;
}

你可能感兴趣的:(贪心算法)