Mai intai trebuie sa te autentifici.
Cod sursa(job #3154038)
Utilizator | Data | 2 octombrie 2023 20:21:14 | |
---|---|---|---|
Problema | Oz | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.31 kb |
#include <fstream>
using namespace std;
ifstream cin ("oz.in");
ofstream cout ("oz.out");
long long Cmmdc (long long valoare_1 , long long valoare_2)
{
return valoare_2 ? Cmmdc(valoare_2 , valoare_1 % valoare_2) : valoare_1;
}
int main ()
{
int lungime , numar_triplete;
cin >> lungime >> numar_triplete;
int sir[10001];
for (int indice = 1 ; indice <= lungime ; indice++)
sir[indice] = 1;
struct { int indice_1 , indice_2 , cmmdc; } triplete[100001];
for (int indice = 1 ; indice <= numar_triplete ; indice++)
{
cin >> triplete[indice].indice_1 >> triplete[indice].indice_2 >> triplete[indice].cmmdc;
sir[triplete[indice].indice_1] *= triplete[indice].cmmdc / Cmmdc(triplete[indice].cmmdc , sir[triplete[indice].indice_1]);
sir[triplete[indice].indice_2] *= triplete[indice].cmmdc / Cmmdc(triplete[indice].cmmdc , sir[triplete[indice].indice_2]);
}
for (int indice = 1 ; indice <= numar_triplete ; indice++)
if (Cmmdc(sir[triplete[indice].indice_1] , sir[triplete[indice].indice_2]) != triplete[indice].cmmdc)
{ cout << "-1"; cout.close(); cin.close(); return 0; }
for (int indice = 1 ; indice <= lungime ; indice++)
cout << sir[indice] << ' ';
cout.close(); cin.close();
return 0;
}