贴下一个java版本的。
package beike;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Scanner;
public class Main2
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ArrayList<Time> list = new ArrayList<>();
for(int i=0;i<n;i++){
int start = sc.nextInt();
int end = sc.nextInt();
list.add(new Time(i+1,start, end));
}
Collections.sort(list);
ArrayList<Integer> res = new ArrayList<>();
loop1:
for(int i=0;i<n;i++){
for(int j=0;i<n;j++){
if(j==i)
continue;
int pre = j;
int next = j+1;
if(next == i){
next = i+1;
}
if(next == n){
break;
}
if(list.get(pre).end > list.get(next).start){
continue loop1;
}
}
res.add(list.get(i).id);
}
Collections.sort(res);
System.out.println(res.size());
for(int i=0;i<res.size();i++){
System.out.print(res.get(i));
if(i!=res.size()-1){
System.out.print(" ");
}
}
System.out.println();
}
}
class Time implements Comparable<Time>{
public int id;
public int start;
public int end;
public Time(int i,int s,int e){
this.id = i;
this.start = s;
this.end = e;
}
@Override
public int compareTo(Time o)
{
return this.start - o.start;
}
}