題目:

評測結果:
package test;
import java.util.Scanner;
public class to8 {
public static String tobit(char c){
int x=0;
if(c>='0'&&c<='9')x=c-'0';
else x=c-'A'+10;
StringBuilder ans=new StringBuilder();
for(int i=0,p=8;i<4;i++){
if(x>=p){
x-=p;
ans.append("1");
}
else ans.append("0");
p/=2;
}
return ans.toString();
}
public static String to8(String s){
int ans=0;
for(int i=0,p=4;i<3;i++){
if(s.charAt(i)=='1'){
ans+=p;
}
p/=2;
}
return ans+"";
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
while (t-- > 0) {
String s = sc.next();
char c[]=s.toCharArray();
StringBuilder bit=new StringBuilder();
for(int i=0;i<c.length;i++){
bit.append(tobit(c[i]));
}
StringBuilder ans=new StringBuilder();
c=bit.toString().toCharArray();
for(int i=c.length;i>=0;i-=3){
if(i-3>=0){
ans.append(to8(c[i-3]+""+c[i-2]+""+c[i-1]));
}
else{
if(i==2)
ans.append(to8("0"+c[i-2]+c[i-1]));
else if(i==1){
ans.append(to8("0"+""+"0"+""+c[i-1]));
}
}
}
String out=ans.reverse().toString();
for(int i=0;i<out.length();i++){
if(out.charAt(i)!='0'){
System.out.println(out.substring(i));
break;
}
}
}
}
}