洛谷链接:https://www.luogu.com.cn/problem/P1603
import java.util.Arrays;
import java.util.HashMap;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String m=("zero one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen twenty "
+ "a both another first second third");
String[] s=m.split(" ",27); //以空格划分,分成27段
HashMap<String,String> map=new HashMap<String,String>();
//将数字单词与计算后值一一对应
for(int i=0;i<s.length;i++) { //27次
String pow="";
if(i<=20) { //正规
pow=String.valueOf(((i*i)%100)); //将括号内int值转换成字符串,得出两位数
}else { //非正规
pow=String.valueOf((i%20)*(i%20)%100); //将括号内int值转换成字符串,得出两位数
}
if(pow.length()==1) pow="0"+pow; //当pow等于个位数时,补零
map.put(s[i], pow); //key,value
}
//输入
String[] o=new String[7]; //加上点总共7个
for(int i=0;i<7;i++) {
o[i]=in.next();
if(map.containsKey(o[i])) { //如果map存在这个值
o[i]=map.get(o[i]); //取值
}else {
//如果不存在
o[i]="00";
}
}
in.close(); //关闭输入流可以减短运行时间
Arrays.sort(o); //排序
String a="";
for(int i=0;i<7;i++) {
a+=o[i];
}
int l=a.length();
for(int i=0;i<l;i++) {
if(a.charAt(0)!='0') { //如果开头没有0
System.out.println(a);
return; //退出程序
}else {
//相当于去0,不断更新字符串,等到开头无0则可在上面输出
a=a.substring(1); //截取从索引1开始至最后的字符
}
}
System.out.println(0); //如果上面没有符合条件输出,没有结束程序,则输出0
}
}