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

📄 3675894_ac_188ms_2248k.java

📁 北大大牛代码 1240道题的原代码 超级权威
💻 JAVA
字号:
import java.util.*;

public class Main {
	private Scanner in;

	public static void main(String[] args) {
		new Main().run();
	}

	private void run() {
		in = new Scanner(System.in);
		String str, log;
		int cas = 1;
		String[] table = new String[256];
		StringTokenizer st;

		while (true) {
			str = in.next();
			if ("#".equals(str)) {
				break;
			}
			st = new StringTokenizer(str, ",");
			Arrays.fill(table, "");
			System.out.print((cas++) + ":");
			while (st.hasMoreTokens()) {
				log = st.nextToken();
				int index;
				index = log.indexOf('+');
				if (index != -1) {
					for (int i = 0; i < index; i++) {
						for (int j = index + 1; j < log.length(); j++) {
							if (table[log.charAt(i)].indexOf(log.charAt(j)) == -1) {
								table[log.charAt(i)] += log.charAt(j);
							}
						}
					}
					continue;
				}
				index = log.indexOf('-');
				if (index != -1) {
					for (int i = 0; i < index; i++) {
						String tmp = "";
						for (int j = 0; j < table[log.charAt(i)].length(); j++) {
							if (log.substring(i + 1).indexOf(table[log.charAt(i)].charAt(j)) == -1) {
								tmp += table[log.charAt(i)].charAt(j);
							}
						}
						table[log.charAt(i)] = tmp;
					}
					continue;
				}
				index = log.indexOf('=');
				for (int i = 0; i < index; i++) {
					table[log.charAt(i)] = log.substring(index + 1);
				}
			}
			String last = "";
			String ans = "";
			for (char ch = 'A'; ch <= 'Z'; ch++) {
				if (table[ch].length() != 0) {
					char[] charArray = table[ch].toCharArray();
					Arrays.sort(charArray);
					String tmp = new String(charArray);
					if (last.length() == 0) {
						last = tmp;
						ans += ch;
						continue;
					}
					if (tmp.equals(last)) {
						ans += ch;
					} else {
						ans += last;
						ans += ch;
						last = tmp;
					}
				}
			}
			System.out.println(ans + last);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -