main() {
int n;
while (cin >> n) {
for (int i = 0; i < N; i++) {
bit[i].reset();
}
for (int i = 1; i <= n; i++) {
int m;
cin >> m;
for (int j = 1; j <= m; j++) {
int t;
cin >> t;
bit[i].set(t,1);
}
}
int q;
cin >> q;
for (int i = 1; i <= q; i++) {
bitsum1.reset();
bitsum2.reset();
int a, b;
cin >> a >> b;
for (int j=1; j<=n; j++) {
if (bit[j].test(a) ) {
bitsum1 |=bit[j];
}
if (bit[j].test(b) ) {
bitsum2 |=bit[j];
}
}
bitsum1 &=bitsum2;
bitsum1.set(a,0);
bitsum1.set(b,0);
cout << bitsum1.count()<< endl;
}
}
}
int n;
while (cin >> n) {
for (int i = 0; i < N; i++) {
bit[i].reset();
}
for (int i = 1; i <= n; i++) {
int m;
cin >> m;
for (int j = 1; j <= m; j++) {
int t;
cin >> t;
bit[i].set(t,1);
}
}
int q;
cin >> q;
for (int i = 1; i <= q; i++) {
bitsum1.reset();
bitsum2.reset();
int a, b;
cin >> a >> b;
for (int j=1; j<=n; j++) {
if (bit[j].test(a) ) {
bitsum1 |=bit[j];
}
if (bit[j].test(b) ) {
bitsum2 |=bit[j];
}
}
bitsum1 &=bitsum2;
bitsum1.set(a,0);
bitsum1.set(b,0);
cout << bitsum1.count()<< endl;
}
}
}
全部评论
相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享