代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
in.ordinaryChar('\n');
StringBuilder builder = new StringBuilder(30000);
while (true) {
in.nextToken();
if (in.ttype == '\n') {
break;
} else if (in.ttype == StreamTokenizer.TT_WORD) {
builder.append(in.sval);
} else {
// 发现特殊字符
int level = 1;
// 左括号个数
int leftCount = 1;
StringBuilder key = new StringBuilder(50);
do {
in.nextToken();
if (in.ttype == StreamTokenizer.TT_NUMBER) {
level *= in.nval;
} else if (in.ttype == StreamTokenizer.TT_WORD) {
key.append(in.sval);
} else if (in.ttype == '['){
leftCount++;
} else if (in.ttype == '\n'){
System.exit(0);
} else {
// 右括号
leftCount--;
}
} while (leftCount != 0 || in.ttype != ']');
// 添加
for (int i = 0; i < level; i++) {
builder.append(key);
}
}
}
System.out.print(builder);
}
}
第一个测试点是[2[2[2NOTOMAMIKO]]],自己本地测试几乎是瞬间出结果,但是提交后全部TLE
愁死我了,这么好用的类不会不让用吧(