贴下一个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;
    }


}