Cod sursa(job #2079885)

Utilizator Cristian25Cristian Stanciu Cristian25 Data 1 decembrie 2017 22:48:24
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in("euclid3.in");
ofstream out("euclid3.out");
long sol[3],a,b,c;
bool exista;
bool esol(short k)
{
    if(k<2)
        return 0;
    return (a*sol[1]+b*sol[2])==c;
}
void back(short k)
{
    for(long i=-c;i<=c && !exista;++i)
    {
        sol[k]=i;
        if(esol(k))
        {
            exista=1;
            out<<sol[1]<<' '<<sol[2]<<'\n';
        }
        else if(k<2)
            back(1+k);
    }
}
int main()
{
    short T;
    in>>T;
    for(short i=0;i<T;++i)
    {
        exista=0;
        in>>a>>b>>c;
        back(1);
        if(!exista)
            out<<0<<' '<<0<<'\n';
    }
    return 0;
}