Cod sursa(job #2753611)

Utilizator MirunaStefaniaLupascu Miruna-Stefania MirunaStefania Data 23 mai 2021 18:18:48
Problema Heapuri cu reuniune Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 2.06 kb
class IO:
    def __init__(self, input_file="mergeheap.in", output_file="mergeheap.out"):
        self.input_file = input_file
        self.output_file = output_file
        self.heaps = {}

    def convert_array_to_int(self, arr):
        arr = arr.strip("\n ").split(" ")
        return list(map(lambda x: int(x), arr))

    def read(self):
        file = open(self.input_file)
        first_line = file.readline()

        [N, Q] = self.convert_array_to_int(first_line)

        for i in range(Q):
            line = file.readline()
            args = self.convert_array_to_int(line)

            operation = args[0]

            if (operation == 1):
                heap_num = args[1]
                elem = args[2]

                # if (not heap_num in self.heaps):
                #     self.heaps[heap_num] = FibonacciHeap()
                #     self.heaps[heap_num].insert(elem)
                # else:
                #     self.heaps[heap_num].insert(elem)

                print(f"HEAP: {heap_num}", f"elem: {elem}")
                # print(self.heaps[heap_num].root_list)

            elif operation == 2:
                heap_num = args[1]

                # minimum = self.heaps[heap_num].extract_min()
                print(heap_num)
            else:
                heap1 = args[1]
                heap2 = args[2]

                # print(self.heaps.keys())
                # if self.heaps[heap1].find_min().key < self.heaps[heap2].find_min().key:
                #     self.heaps[heap1] = self.heaps[heap1].merge(self.heaps[heap2])
                #     self.heaps.pop(heap2)
                # else:
                #     self.heaps[heap2] = self.heaps[heap2].merge(self.heaps[heap1])
                #     self.heaps.pop(heap1)

                print(heap1, heap2)


if __name__ == "__main__":
    #f = FibonacciHeap()

    # f.insert(10)
    # f.insert(2)
    # f.insert(15)
    # f.insert(6)

    # m = f.extract_min()
    # print(m.key)

    # m = f.extract_min()
    # print(m.key)

    io = IO()

    io.read()