Submission #728074

#TimeUsernameProblemLanguageResultExecution timeMemory
728074jnjwnwnwCarnival (CEOI14_carnival)Cpython 3
0 / 100
257 ms3304 KiB
import random n = int(input()) c = int(input(str(n) + " " + " ".join([str(i+1) for i in range(n)]) + "\n")) def getAnItem(s): for thing in s: return thing def test(lst): return int(input(str(len(lst)) + " " + " ".join([str(i+1) for i in lst]) + "\n")) def div_and_conquer(l = 0, u = n): if l == u - 1: return [{l}] mid = (l + u) // 2 rl = div_and_conquer(l, mid) rr = div_and_conquer(mid, u) used = set() for val_in in rr: flag = True for key_out, val_out in enumerate(rl): if key_out not in used and test([getAnItem(val_in), getAnItem(val_out)]) == 1: val_out.update(val_out.union(val_in)) used.add(key_out) flag = False break if flag: rl.append(val_in) return rl def iterative(): dat = [] for i in range(n): flag = True for val in dat: if test([i, getAnItem(val)]) == 1: val.add(i) flag = False break if flag: dat.append({i}) return dat div_and_conquer() res = iterative() toPrint = ["0"]*(n+1) for i, s in enumerate(res): for j in s: toPrint[j+1] = str(i+1) print(" ".join(toPrint))
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...