小美在美团外卖工作,负责处理包裹的分类。每个包裹都有一个唯一的标识符(ID),ID由一串字母和数字组成。你需要根据包裹的ID来判断它属于哪一类。
分类规则如下:
- 如果ID以字母开头,并且字母后面的字符全是数字,则属于“standard”。
- 如果ID以数字开头,并且数字后面的字符全是字母,则属于“special”。
- 如果ID以字母开头,并且字母后面的字符同时包含字母和数字,则属于“mix”。
- 其他情况的ID都属于“invalid"。
请你帮助小美完成任务,输入包裹id,输出对应的哪一类。
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
输入描述:
第一行包含一个整数,表示有个包裹。
接下来的行,每行是一个包裹的ID,保证字符串长度>=2
输出描述:
对于每个包裹的ID,输出其所属的类别。
示例1
输入例子:
5
A123
1ABC
A1B2C3
123ABC
A!23
输出例子:
standard
special
mix
invalid
invalid
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String p1="^[A-Za-z]\\d+$";
String p2="^\\d[A-Za-z]+$";
String p3="^[A-Za-z](?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]+$";
int n=sc.nextInt();
sc.nextLine();
for(int i=0;i<n;i++){
String str=sc.nextLine();
if(str.matches(p1)){
System.out.println("standard");
}
else if(str.matches(p2)){
System.out.println("special");
}
else if(str.matches(p3)){
System.out.println("mix");
}
else{
System.out.println("invalid");
}
}
}
}