Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2020
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.20 KB | None | 0 0
  1. import java.io.*;
  2. import java.util.*;
  3. public class Solution {
  4.     public static void main(String[] args) throws IOException{
  5.         Scanner scanner = new Scanner(System.in);
  6.         int T = scanner.nextInt();
  7.         for(int testcases = 1; testcases <= T; testcases++) {
  8.             int N = scanner.nextInt();
  9.             ArrayList<time> unsorted = new ArrayList<>();
  10.             ArrayList<time> sorted = new ArrayList<>();
  11.             ArrayList<String> sortedanswer = new ArrayList<>();
  12.             ArrayList<String> answer = new ArrayList<>();
  13.             for(int i = 0; i < N; i++){
  14.                 unsorted.add(new time(scanner.nextInt(), scanner.nextInt()));
  15.                 sorted.add(unsorted.get(i));
  16.             }
  17.             Collections.sort(sorted);
  18.             int C = 0;
  19.             int J = 0;
  20.             boolean impossible = false;
  21.             for(int i = 0; i < N; i++){
  22.                 time t = sorted.get(i);
  23.                 if(C<= t.start){
  24.                     C = t.end;
  25.                     sortedanswer.add("C");
  26.                 }
  27.                 else if(J<=t.start){
  28.                     J = t.end;
  29.                     sortedanswer.add("J");
  30.                 }
  31.                 else{
  32.                     sortedanswer.clear();
  33.                     answer.add("IMPOSSIBLE");
  34.                     impossible = true;
  35.                     break;
  36.                 }
  37.             }
  38.             for(int i = 0; i < N && !impossible; i++){
  39.                 time t = unsorted.get(i);
  40.                 answer.add(sortedanswer.get(sorted.indexOf(t)));
  41.             }
  42.             System.out.print("Case #"+testcases+":" + " ");
  43.             for(int i = 0; i < answer.size(); i++){
  44.                 System.out.print(answer.get(i));
  45.             }
  46.             System.out.println();
  47.         }
  48.     }
  49.     public static class time implements Comparable{
  50.         int start;
  51.         int end;
  52.         public time(int s, int e){
  53.             start = s;
  54.             end = e;
  55.         }
  56.         public boolean equals(time t){
  57.             return t.start == start && t.end == end;
  58.         }
  59.         @Override
  60.         public int compareTo(Object o) {
  61.             return start - ((time)o).start;
  62.         }
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement