#include<bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int k, n;
cin >> k >> n;
vector<vector<int>> S, W;
vector<int> V(n, 0);
S.push_back(V);
W.push_back(V);
for(int i=1; i<k; i++){
int m;
cin >> m;
vector<int> D(m);
W.push_back(D);
for(auto &it:D) cin >> it;
S.push_back(D);
}
// for(int i=0; i<k; i++){
// for(auto it:S[i]) cout << it << " ";
// cout << "\n";
// }
for(int i=k-1; i>0; i--){
for(int j=0; j<S[i].size(); j++){
if(S[i][j] < 1) continue;
W[i-1][S[i][j]-1] += max(1, W[i][j]);
}
}
int res = 0;
for(int i=0; i<k; i++){
int s = 0;
// for(auto it:W[i]) cout << it << " ";
// cout << "\n";
for(auto it:W[i]) s += max(1, it);
res = max(res, s);
}
cout << res << "\n";
}
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; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int k, n; cin >> k >> n; vector<vector<int>> S, W; vector<int> V(n, 0); S.push_back(V); W.push_back(V); for(int i=1; i<k; i++){ int m; cin >> m; vector<int> D(m); W.push_back(D); for(auto &it:D) cin >> it; S.push_back(D); } // for(int i=0; i<k; i++){ // for(auto it:S[i]) cout << it << " "; // cout << "\n"; // } for(int i=k-1; i>0; i--){ for(int j=0; j<S[i].size(); j++){ if(S[i][j] < 1) continue; W[i-1][S[i][j]-1] += max(1, W[i][j]); } } int res = 0; for(int i=0; i<k; i++){ int s = 0; // for(auto it:W[i]) cout << it << " "; // cout << "\n"; for(auto it:W[i]) s += max(1, it); res = max(res, s); } cout << res << "\n"; } |
English