import java.util.*;
public class Experiment1 {
static final int[][] STTC ={{00,20,22,02},{12,32,30,10},{21,01,03,23},{33,13,11,31},
{02,22,20,00},{10,30,32,12},{23,03,01,21},{31,11,13,33}};
static final int[][] jump1={{1,3,5,7},{1,2,3,4}}; //网格跳转关系1
static final int[][] jump2={{2,4,6,8},{5,6,7,8}}; //网格跳转关系2
static int begin=1;
public static void main(String[] args){
Scanner reader=new Scanner(System.in);
System.out.print("请输入发射信号:");
String str=reader.nextLine(); //输入转为字符串记录
String res=""; //记录结果
int input_lenth=str.length(); //输入数据的长度
if(input_lenth%2!=0){str="0"+str;input_lenth++;} //若用户输入奇数个,则自动补0
for(int i=input_lenth-1;i>=0;i=i-2){ //从后开始
String str1=str.substring(i-1,i+1); //截取最后两个
int a=Tow_to_Ten(Integer.parseInt(str1)); //字符串二进制转为数字十进制
String str2= STTC[begin-1][a]+""; //转为字符串,方便拼接
if(str2.length()==1){ //因为01会读出来会变成1,所以判断一下
res="0"+str2+res;
}
else {
res=str2+res;
}
if(begin==1||begin==3||begin==5||begin==7){ //网格码跳转
begin=jump1[1][a];
}
else {
begin=jump2[1][a];
}
}
Output(res); //输出结果
}
public static int Tow_to_Ten(int num){
return Integer.parseInt(String.valueOf(num),2);
}
public static void Output(String str){
int length=str.length();
String antennae1="天线1输出:"+"";
String antennae2="天线2输出:"+"";
for(int i=0;i<length;i=i+2){
antennae1=antennae1+str.substring(i,i+1)+" ";
antennae2=antennae2+str.substring(i+1,i+2)+" ";
}
System.out.println(antennae1);
System.out.println(antennae2);
}
}