Cod sursa(job #2451415)

Utilizator blatulInstitutul de Arta Gastronomica blatul Data 26 august 2019 17:14:31
Problema Algoritmul lui Euclid extins Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.66 kb
from typing import Tuple


def solve(a: int, b: int) -> Tuple[int, int, int]:
    if b == 0:
        return (a, 1, 0)
    r, x, y = solve(b, a % b)
    return r, y, x - (a // b) * y


def main() -> None:
    input_file = open("euclid3.in", "r")
    output_file = open("euclid3.out", "w")
    num_tests = int(input_file.readline())
    for _ in range(num_tests):
        a, b, c = map(int, input_file.readline().split())
        r, x, y = solve(a, b)
        if c % r != 0:
            x, y = 0, 0
        else:
            x, y = x * c // r, y * c // r
        print(x, y, file=output_file)
    input_file.close()
    output_file.close()


if __name__ == "__main__":
    main()