# include <bits/stdc++.h>
typedef int ll;
using namespace std;
const ll inf = 1e9 + 7;
ll n , m , k , ans = 0 , q;
vector<vector<ll> >g(105);
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> n;
for (int i = 1; i <= n; i++) {
ll sz;
cin >> sz;
for (int j = 0; j < sz; j++) {
ll to;
cin >> to;
g[i].push_back(to);
}
}
bool found = 0;
vector<ll>cur(105 , 0);
ll kol = 0;
while (!found) {
ll v = 1;
while (g[v].size() > 0) {
ll next_v = g[v][cur[v]];
cur[v] = (cur[v] + 1) % g[v].size();
v = next_v;
}
kol++;
bool all_0 = 1;
for (int i = 1; i <= n; i++) {
if (cur[i] != 0) {
all_0 = 0;
break;
}
}
if (all_0)found = 1;
}
cout << kol;
}
/*
4
2827 1074 2431 1152
2900 1968 2994 1633
*/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # include <bits/stdc++.h> typedef int ll; using namespace std; const ll inf = 1e9 + 7; ll n , m , k , ans = 0 , q; vector<vector<ll> >g(105); int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 1; i <= n; i++) { ll sz; cin >> sz; for (int j = 0; j < sz; j++) { ll to; cin >> to; g[i].push_back(to); } } bool found = 0; vector<ll>cur(105 , 0); ll kol = 0; while (!found) { ll v = 1; while (g[v].size() > 0) { ll next_v = g[v][cur[v]]; cur[v] = (cur[v] + 1) % g[v].size(); v = next_v; } kol++; bool all_0 = 1; for (int i = 1; i <= n; i++) { if (cur[i] != 0) { all_0 = 0; break; } } if (all_0)found = 1; } cout << kol; } /* 4 2827 1074 2431 1152 2900 1968 2994 1633 */ |
English