36 lines
791 B
C++
36 lines
791 B
C++
#include <stdio.h>
|
|
int nodes[65540] = {0};
|
|
|
|
int main() {
|
|
int N, M;
|
|
scanf("%d %d", &N, &M);
|
|
for (int i = 0; i < N; i++) {
|
|
int total_edge, dest_node;
|
|
scanf("%d", &total_edge);
|
|
for (int j = 0; j < total_edge; j++) {
|
|
scanf("%d", &dest_node);
|
|
nodes[dest_node]++;
|
|
}
|
|
}
|
|
for (int i = 1; i < N; i++) {
|
|
if (nodes[i] == 0) {
|
|
for (int i = 0; i <= M; i++) {
|
|
printf("0\n");
|
|
}
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
printf("1\n");
|
|
for (int i = 0; i < M; i++) {
|
|
int start, end;
|
|
scanf("%d %d", &start, &end);
|
|
if (end == 0 || nodes[end] > 1) {
|
|
printf("1\n");
|
|
}
|
|
else {
|
|
printf("0\n");
|
|
}
|
|
}
|
|
return 0;
|
|
} |