Cod sursa(job #2407477)

Utilizator SmokeCiocotisan Cosmin Smoke Data 16 aprilie 2019 21:39:48
Problema Algoritmul lui Euclid extins Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.09 kb
#include <iostream>
#include <fstream>
#include <utility>
#include <vector>

using namespace std;

void euclid_extins(int a,  int b, int & d, int & x, int & y)
{
    if(!b)
    {
        d = a;
        x = 1;
        y = 0;

    }
    else
    {
        int x0, y0;

        euclid_extins(b,  a%b,d, x0, y0);

        x = y0 ;
        y = x0 - (a/b)*y0;

    }


}

void rezolvare()
{
    ifstream in("euclid3.in");
    ofstream out("euclid3.out");

vector < pair < int , int> > vect;

    int t ;
    int a,b, c;

    in>>t;

    for(int i = 0 ; i < t ; i++)
    {
        in>>a>>b>>c;
        int d, x, y;
        euclid_extins(a,b,d,x,y);
            if(c % d == 0)
            vect.push_back(make_pair(c/d* x , c/d * y));
                else
                    vect.push_back(make_pair(0,0));

    }

        vector < pair <int , int> > :: iterator it ;

         for(it = vect. begin() ; it < vect.end() ; it++)
         {
            out << it->first <<" "<<it->second<<'\n';

         }
}

int main()
{
    rezolvare();

    return 0;
}