Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.98 KB | None | 0 0
  1.  
  2.  
  3. T = int(input())
  4.  
  5. test = 1
  6.  
  7. def sort1st(v):
  8.     return v[0]
  9.    
  10. def sortnum(n):
  11.     return sort1st(sch[n])
  12.  
  13.  
  14. ANS = []
  15. while test <= T:
  16.     N = int(input())
  17.    
  18.     sch = []
  19.    
  20.     ev = []
  21.     J = []
  22.     C = []
  23.     num = []
  24.     chart = []
  25.     sollist = []
  26.     for n in range(0, N):
  27.         ev = input().split()
  28.         for i in ev:
  29.             ev[ev.index(i)] = int(i)
  30.         sch.append(ev)
  31.         num.append(n)
  32.         sollist.append("")
  33.        
  34.    
  35.    
  36.    
  37.        
  38.    
  39.    
  40.     for x in range(0, 1450):
  41.         chart.append(0)
  42.         J.append(0)
  43.         C.append(0)
  44.        
  45.    
  46.     num.sort(key = sortnum)
  47.     sch.sort(key = sort1st)
  48.    
  49.    
  50.    
  51.    
  52.    
  53.        
  54.     for v in sch:
  55.        
  56.         for m in range(v[0], v[1]):
  57.             chart[m] += 1
  58.            
  59.     isimp = False
  60.    
  61.     for m in chart:
  62.         if m > 2:
  63.             isimp = True
  64.             sol = "IMPOSSIBLE"
  65.             break
  66.        
  67.    
  68.     if isimp == False:  
  69.         sol = ""
  70.         for v in range(0, N):
  71.             jbusy = False
  72.             cbusy = False
  73.             for m in range(sch[v][0], sch[v][1]):
  74.                 if J[m] != 0:
  75.                    
  76.                     jbusy = True
  77.                 if C[m] != 0:
  78.                    
  79.                     cbusy = True
  80.            
  81.             if cbusy == False:
  82.                 sollist[v] = "C"
  83.                 for m in range(sch[v][0], sch[v][1]):
  84.                     C[m] += 1
  85.                    
  86.                    
  87.             elif jbusy == False:
  88.                 sollist[v] = "J"
  89.                 for m in range(sch[v][0], sch[v][1]):
  90.                     J[m] += 1
  91.                    
  92.              
  93.        
  94.                
  95.                
  96.         for nchar in range(0, len(sollist)):
  97.             sol += sollist[num[nchar]]
  98.     ANS.append([str(test), sol])        
  99.     test += 1
  100.  
  101. for u in ANS:
  102.     print("Case #" + u[0] + ":", u[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement