1. 有n个需要在同一天使用同一个教室的活动a1,a2,…,an,教室同一时刻只能由一个活动使用。每个活动ai都有一个 开始时间si和结束时间fi,一旦被选择后,活动ai就占据半开时间区间[si,fi)。如果[si,fi]和[sj,fj]互不重叠,ai和aj两个活动就可以被安排在这一天。该问题就是要安排这些活动使得尽量多的活动能不冲突的举
package data_11_28;
import java.util.Arrays;
import java.util.Scanner;
public class tanxin_01 {
/**
*
* 1.排序 抓住 最快结束的开始
*/
static class cl{
int start;
int end;
}
static boolean judge(cl a,cl b){
return a.end<=b.start;
}
public static void main(String[] ages){
Scanner sc=new Scanner(System.in);
//输入个数
int n=sc.nextInt();
int sum=1,j=1;
cl[] a=new cl[n+1];
//赋值
for(int i=1;i<=n;i++){
a[i]=new cl();
a[i].start=sc.nextInt();
a[i].end=sc.nextInt();
if(i!=1&&a[i].end<a[i-1].end){
a[0]=a[i];
a[i]=a[i-1];
a[i-1]=a[0];
}
}
//判断
for(int i=2;i<=n;i++){
if(judge(a[j],a[i])){
j=i;
sum++;
}
}
System.out.println(sum);
}
}