#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
#define st first
#define nd second
void solve() {
int k, n; cin >> k >> n;
vector<vector<int>> requirements(k+1);
vector<vector<int>> attending(k+1);
attending[1].resize(n+1);
requirements[1].resize(n+1);
for (int i = 2; i <= k; i++) {
int m; cin >> m;
requirements[i].resize(m+1);
attending[i].resize(m+1);
for (int j = 1; j <= m; j++) cin >> requirements[i][j];
}
int unassigned = 0;
for (int i = k; i >= 1; i--) {
for (int j = 1; j < attending[i].size(); j++) {
if (attending[i][j] == 0) {
if (unassigned > 0) unassigned--;
attending[i][j]++;
}
}
for (int j = 1; j < requirements[i].size(); j++) {
if (requirements[i][j] == 0) unassigned += attending[i][j];
else attending[i-1][requirements[i][j]] += attending[i][j];
}
}
cout << unassigned << '\n';
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
}
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 | #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define st first #define nd second void solve() { int k, n; cin >> k >> n; vector<vector<int>> requirements(k+1); vector<vector<int>> attending(k+1); attending[1].resize(n+1); requirements[1].resize(n+1); for (int i = 2; i <= k; i++) { int m; cin >> m; requirements[i].resize(m+1); attending[i].resize(m+1); for (int j = 1; j <= m; j++) cin >> requirements[i][j]; } int unassigned = 0; for (int i = k; i >= 1; i--) { for (int j = 1; j < attending[i].size(); j++) { if (attending[i][j] == 0) { if (unassigned > 0) unassigned--; attending[i][j]++; } } for (int j = 1; j < requirements[i].size(); j++) { if (requirements[i][j] == 0) unassigned += attending[i][j]; else attending[i-1][requirements[i][j]] += attending[i][j]; } } cout << unassigned << '\n'; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); int t = 1; // cin >> t; while (t--) { solve(); } } |
English