📄 3675894_ac_188ms_2248k.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 + -