📄 sgu406.java
字号:
import java.io.*;
import java.util.*;
public class Solution implements Runnable {
Scanner in;
PrintWriter out;
int seq[][];
int n, m;
private void Init() {
n = in.nextInt();
m = in.nextInt();
seq = new int[n][];
int i, j, d;
for (i = 0; i < n; i++) {
d = in.nextInt();
seq[i] = new int[d];
for (j = 0; j < d; j++)
seq[i][j] = in.nextInt();
}
}
private boolean Check(int seq[], int req[]) {
int i, j, x;
for (i = 0; i < req.length; i++) {
x = req[i];
if (x < 0) {
for (j = 0; j < seq.length; j++)
if (seq[j] == -x) break;
if (j < seq.length) return false;
}
if (x > 0) {
for (j = 0; j < seq.length; j++)
if (seq[j] == x) break;
if (j == seq.length) return false;
}
}
return true;
}
private void Print(int seq[]) {
out.print(seq.length);
int i;
for (i = 0; i < seq.length; i++)
out.print(" " + seq[i]);
out.println();
}
private void Work() {
int req[], d, i, j, k, sum;
while (m-- > 0) {
d = in.nextInt();
req = new int[d];
for (i = 0; i < d; i++)
req[i] = in.nextInt();
sum = 0;
for (i = 0; i < n; i++)
if (Check(seq[i], req)) sum++;
out.println(sum);
for (i = 0; i < n; i++)
if (Check(seq[i], req)) Print(seq[i]);
}
}
public void run() {
try {
in = new Scanner(new FileReader("input.txt"));
out = new PrintWriter(System.out);
while (in.hasNext()) {
Init();
Work();
}
in.close();
out.close();
}
catch (Exception ex) {
ex.printStackTrace();
System.exit(-1);
}
}
public static void main(String args[]) {
new Thread(new Solution()).start();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -