fbpx

Problema #577 – AfisCircuite – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dă lista arcelor unui graf orientat. Să se afișeze, în ordine lexicografică, toate circuitele de lungime trei.

Date de intrare

Programul citește de la tastatură numărul n de noduri și numărul m de arce, iar apoi lista arcelor, formată din m perechi de forma i j, cu semnificația că există arc orientat de la nodul i la nodul j.

Date de ieșire

Programul va afișa pe ecran circuitele cerute, câte un circuit pe o linie a ecranului, nodurile unui circuit fiind separate prin exact un spațiu.

Restricții și precizări

  • 1 ≤ n ≤ 100

Exemplu

5 7
1 3
2 5
3 2
3 4
4 2
5 4
5 1

Ieșire

2 5 4
4 2 5
5 4 2
#include <bits/stdc++.h>
using namespace std;
int a[101][101];
int main()
{
    int n , m , x , y;
    cin >> n >> m;
    for(int i = 1 ; i <= m ; ++i)
    {
        cin >> x >> y;
        a[x][y] = 1;
    }
    for(int i = 1 ; i <= n ; ++i)
    {
        for(int j = 1 ; j <= n ; ++j)
        {
            for(int r = 1 ; r <= n ; ++r)
                if(a[i][j] == 1 && a[r][i] == 1 && a[j][r] == 1)
                    cout << i << " " << j << " " << r << endl;
        }
    }
    return 0;
}
Comentarii

S-ar putea sa iti placa