#include "bits/stdc++.h"
using namespace std;
using ll = long long;
int main() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int k,n1;
cin>>k>>n1;
vector<vector<int>> V(k);
vector<vector<int>> M(k);
V[0].resize(n1, 0);
M[0].resize(n1, 0);
for(int i = 1;i < k;i++ ){
int x;
cin>>x;
V[i].resize(x);
M[i].resize(x, 0);
for(int j = 0; j < x; j++) {
cin >> V[i][j];
}
}
for(int i=k-1; i>=0;i--) {
int x = M[i].size();
for(int j = 0;j < x; j++) {
if (M[i][j] == 0) M[i][j] +=1;
if(V[i][j] > 0) {
M[i-1][V[i][j]-1] += M[i][j];
}
}
}
int result = 0;
for(int i=0;i<k;i++) {
int suma = 0;
int size = M[i].size();
for(int j=0;j<size;j++) {
suma += M[i][j];
}
result = max(result, suma);
}
cout<<result;
}
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 | #include "bits/stdc++.h" using namespace std; using ll = long long; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int k,n1; cin>>k>>n1; vector<vector<int>> V(k); vector<vector<int>> M(k); V[0].resize(n1, 0); M[0].resize(n1, 0); for(int i = 1;i < k;i++ ){ int x; cin>>x; V[i].resize(x); M[i].resize(x, 0); for(int j = 0; j < x; j++) { cin >> V[i][j]; } } for(int i=k-1; i>=0;i--) { int x = M[i].size(); for(int j = 0;j < x; j++) { if (M[i][j] == 0) M[i][j] +=1; if(V[i][j] > 0) { M[i-1][V[i][j]-1] += M[i][j]; } } } int result = 0; for(int i=0;i<k;i++) { int suma = 0; int size = M[i].size(); for(int j=0;j<size;j++) { suma += M[i][j]; } result = max(result, suma); } cout<<result; } |
English