#include int main() { int tmp; printf("Dokumentů?\n"); int n; scanf("%d", &n); int D[n+1]; for (int i=1; i<=n; i++) D[i] = 0; for (int i=1; i<=n; i++) { printf("Dokument %d\n -- kolik hesel obsahuje?\n", i); int h; scanf("%d", &h); printf(" -- které dokumenty tato hesla otevírají?\n"); for (int j=0; j= 0) // pokud jsme tu ještě nebyli { int j = i; // projdeme odsud graf while (D[j] > 0) { tmp = j; j = D[j]; D[tmp] = -i; } if (D[j] == -i) pruniku++; // našli jsme... kružnici! if (D[j] == 0 ) { // ... vrchol s výstupním stupněm 0! pruniku++; D[j] = -i; } } printf("Je potřeba %d průniků.\n", pruniku); return 0; }