Pagini recente » Cod sursa (job #423927) | Cod sursa (job #3211233) | Cod sursa (job #1361766) | Cod sursa (job #598311) | Cod sursa (job #1397067)
#include <iostream>
#include <cstdio>
#include <functional>
#include <tuple>
using namespace std;
pair<tuple<int,int>,bool> solve(int a, int b, int c)
{
function<pair<tuple<int,int>,bool>(int,int)>
f = [&](int a, int b) {
if (a == 0) {
return make_pair(make_tuple(0, c%b == 0 ? c/b : 0), c%b == 0);
}
auto res = f(b%a, a);
int x, y;
tie(x, y) = res.first;
return make_pair(make_tuple(y-b/a*x, x), res.second);
};
return f(a, b);
}
int main()
{
freopen("euclid3.in", "r", stdin);
freopen("euclid3.out", "w", stdout);
int ntest;
cin >> ntest;
for (int test = 1; test <= ntest; test++) {
int a, b, c;
cin >> a >> b >> c;
auto res = solve(a, b, c);
int x, y;
tie(x, y) = res.first;
printf("%d %d\n", x, y);
}
}