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; }