Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- T = int(input())
- test = 1
- def sort1st(v):
- return v[0]
- def sortnum(n):
- return sort1st(sch[n])
- ANS = []
- while test <= T:
- N = int(input())
- sch = []
- ev = []
- J = []
- C = []
- num = []
- chart = []
- sollist = []
- for n in range(0, N):
- ev = input().split()
- for i in ev:
- ev[ev.index(i)] = int(i)
- sch.append(ev)
- num.append(n)
- sollist.append("")
- for x in range(0, 1450):
- chart.append(0)
- J.append(0)
- C.append(0)
- num.sort(key = sortnum)
- sch.sort(key = sort1st)
- for v in sch:
- for m in range(v[0], v[1]):
- chart[m] += 1
- isimp = False
- for m in chart:
- if m > 2:
- isimp = True
- sol = "IMPOSSIBLE"
- break
- if isimp == False:
- sol = ""
- for v in range(0, N):
- jbusy = False
- cbusy = False
- for m in range(sch[v][0], sch[v][1]):
- if J[m] != 0:
- jbusy = True
- if C[m] != 0:
- cbusy = True
- if cbusy == False:
- sollist[v] = "C"
- for m in range(sch[v][0], sch[v][1]):
- C[m] += 1
- elif jbusy == False:
- sollist[v] = "J"
- for m in range(sch[v][0], sch[v][1]):
- J[m] += 1
- for nchar in range(0, len(sollist)):
- sol += sollist[num[nchar]]
- ANS.append([str(test), sol])
- test += 1
- for u in ANS:
- print("Case #" + u[0] + ":", u[1])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement