⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sgu406.java

📁 SGU题库第四版前10题的题目解答。前三题是CPP程序
💻 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 + -