Cod sursa(job #390293)

Utilizator cristiprgPrigoana Cristian cristiprg Data 3 februarie 2010 13:52:51
Problema Oz Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
int v[10005], m, n;

int cmmdc(int a, int b)
{
    if (b != 0)
        return cmmdc(b, a%b);
    else
        return a;
}

int main()
{
    FILE *f = fopen("oz.in", "r"), *fout = fopen ("oz.out", "w");
    fscanf(f, "%d%d", &n, &m);
    for (int i = 1; i <= n; ++i)
        v[i] = 1;

    for (int i, j, d, c, C;m;--m)
    {
        fscanf(f, "%d%d%d", &i, &j, &d);
        C = cmmdc(v[i], v[j]);

        c = cmmdc(v[i], d);

            v[i] *=d/c;

        //aceeasi chestie pt j
        c = cmmdc(v[j], d);
        v[j] *=d/c;

    }
    for (int i = 1; i <= n; ++i)
        fprintf (fout, "%d ", v[i]);
    fprintf (fout, "\n");

    fclose(f);
    fclose(fout);

    return 0;
}