Абдикашева Вилена Ринатовна, 411 группа AbsoluteSupreme 3743
Алдабергенов Руслан Даниярович, 411 AbsoluteSupreme 3720
f1from itertools import permutationsf1from itertools import permutations
22
n3def get_input_sequence() -> list[list[int]]:n3def get_sequence() -> list[list[int]]:
4    triples = []4    triplets = []
5    while True:5    while True:
n6        triple = input()n6        triplet = input()
7        if not triple:7        if not triplet:
8            break8            break
n9        triples.append([int(x) for x in triple.split(',')])n9        triplets.append([int(x) for x in triplet.split(',')])
10    return triples10    return triplets
1111
n12def is_not_less(a: list[int], b: list[int]) -> bool:n12def is_greater_or_equal(first: list[int], second: list[int]) -> bool:
13    for i, j, k in permutations([0, 1, 2]):13    for i, j, k in permutations([0, 1, 2]):
n14        if a[0] <= b[i] and a[1] <= b[j] and (a[2] <= b[k]):n14        if first[0] <= second[i] and first[1] <= second[j] and (first[2]
 > <= second[k]):
15            if a[0] < b[i] or a[1] < b[j] or a[2] < b[k]:15            if first[0] < second[i] or first[1] < second[j] or first[2] 
 >< second[k]:
16                return False16                return False
17    return True17    return True
1818
n19def find_first_not_less(triples) -> int:n19def find_first_greater_or_equal(triplets) -> int:
20    n = len(triples)20    n = len(triplets)
21    for i in range(n):21    for i in range(n):
n22        is_not_less_than_all = Truen22        is_greater_or_equal_to_all = True
23        for j in range(i + 1, n):23        for j in range(i + 1, n):
n24            if not is_not_less(triples[i], triples[j]):n24            if not is_greater_or_equal(triplets[i], triplets[j]):
25                is_not_less_than_all = False25                is_greater_or_equal_to_all = False
26                break26                break
n27        if is_not_less_than_all:n27        if is_greater_or_equal_to_all:
28            return i28            return i
29    return 029    return 0
3030
n31def sort_triples(triples: list[list[int]]) -> list[list[int]]:n31def sort_triplets(triplets: list[list[int]]) -> list[list[int]]:
32    sorted_triples = []32    sorted_triplets = []
33    while triples:33    while triplets:
34        idx = find_first_not_less(triples)34        idx = find_first_greater_or_equal(triplets)
35        sorted_triples.insert(0, triples.pop(idx))35        sorted_triplets.insert(0, triplets.pop(idx))
36    return reversed(sorted_triples)36    return reversed(sorted_triplets)
3737
n38def absolute_supreme() -> None:n38def absolute_supremacy() -> None:
39    triples = get_input_sequence()39    triplets = get_sequence()
40    sorted_triples = sort_triples(triples)40    sorted_triplets = sort_triplets(triplets)
41    for triple in sorted_triples:41    for triplet in sorted_triplets:
42        print(', '.join(map(str, triple)))42        print(', '.join(map(str, triplet)))
43if __name__ == '__main__':43if __name__ == '__main__':
t44    absolute_supreme()t44    absolute_supremacy()
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op