fbpx

Problema #2748 – patrula3 – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Un domeniu pătrat (cu albastru), ca cel din figură trebuie apărat. Domeniul e împărțit în pătrățele. Latura domeniului este de n pătrățele, n≥7. Pe culoarele colorate patrulează 3 soldați, care încep patrularea din colțul stânga sus în același moment (poziția inițială). În exemplul de mai jos avem n=9.

Exemplu

Intrare

9

Ieșire

3 4 6

Explicație

Primul soldat face 3 ture complete, al doilea 4, iar cel de-al treilea 6.

#include <bits/stdc++.h>
using namespace std;

long long int cmmdc(long long int a , long long int b)
{
    while(b)
    {
        long long int r = a % b;
        a=b;
        b=r;
    }
    return a;
}

long long int cmmmc(long long int a ,long long int b)
{
    return a * b / cmmdc(a , b);
}

int main()
{
    int n;
    cin >> n;
    long long int c1 = n * 2 + (n-2) * 2;
    n-=2;
    long long int c2 = n * 2 + (n-2) * 2;
    n-=2;
    long long int c3 = n * 2 + (n-2) * 2;
    long long int c4=cmmmc(c1 , c2);
    long long int rez = cmmmc(c3 , c4);
    cout << rez/c1 << ' ' << rez/c2 << ' ' << rez/c3;
    return 0;
}
Comentarii

S-ar putea sa iti placa