90求助(WA on #3 and Subtask #1)
  • 板块B3617 古籍翻译
  • 楼主C_Boa
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/19 10:49
  • 上次更新2025/1/19 13:44:12
查看原帖
90求助(WA on #3 and Subtask #1)
1022472
C_Boa楼主2025/1/19 10:49

硬核打表

#include<bits/stdc++.h>
using namespace std;
string s,h,s2;
string jz(string s){
	string t="";
	for(int i=0;i<s.size();i++){
		if(s[i]=='0'){
			t+="000";
		}
		if(s[i]=='1'){
			t+="001";
		}
		if(s[i]=='2'){
			t+="010";
		}
		if(s[i]=='3'){
			t+="011";
		}
		if(s[i]=='4'){
			t+="100";
		}
		if(s[i]=='5'){
			t+="101";
		}
		if(s[i]=='6'){
			t+="110";
		}
		if(s[i]=='7'){
			t+="111";
		}
	}	
	return t;
}
string HEX(string s){
	string t="";
	for(int i=s.size();i>=0;i-=4){
		if(s[i]=='0'&&s[i+1]=='0'&&s[i+2]=='0'&&s[i+3]=='0') t+='0';
		if(s[i]=='0'&&s[i+1]=='0'&&s[i+2]=='0'&&s[i+3]=='1') t+='1';
		if(s[i]=='0'&&s[i+1]=='0'&&s[i+2]=='1'&&s[i+3]=='0') t+='2';
		if(s[i]=='0'&&s[i+1]=='0'&&s[i+2]=='1'&&s[i+3]=='1') t+='3';
		if(s[i]=='0'&&s[i+1]=='1'&&s[i+2]=='0'&&s[i+3]=='0') t+='4';
		if(s[i]=='0'&&s[i+1]=='1'&&s[i+2]=='0'&&s[i+3]=='1') t+='5';
		if(s[i]=='0'&&s[i+1]=='1'&&s[i+2]=='1'&&s[i+3]=='0') t+='6';
		if(s[i]=='0'&&s[i+1]=='1'&&s[i+2]=='1'&&s[i+3]=='1') t+='7';
		if(s[i]=='1'&&s[i+1]=='0'&&s[i+2]=='0'&&s[i+3]=='0') t+='8';
		if(s[i]=='1'&&s[i+1]=='0'&&s[i+2]=='0'&&s[i+3]=='1') t+='9';
		if(s[i]=='1'&&s[i+1]=='0'&&s[i+2]=='1'&&s[i+3]=='0') t+='a';
		if(s[i]=='1'&&s[i+1]=='0'&&s[i+2]=='1'&&s[i+3]=='1') t+='b';
		if(s[i]=='1'&&s[i+1]=='1'&&s[i+2]=='0'&&s[i+3]=='0') t+='c';
		if(s[i]=='1'&&s[i+1]=='1'&&s[i+2]=='0'&&s[i+3]=='1') t+='d';
		if(s[i]=='1'&&s[i+1]=='1'&&s[i+2]=='1'&&s[i+3]=='0') t+='e';
		if(s[i]=='1'&&s[i+1]=='1'&&s[i+2]=='1'&&s[i+3]=='1') t+='f';
	}
	while(t[t.size()]=='0'&&t.size()!=1){
		t[t.size()]='\0';
	}
	reverse(t.begin(),t.end());
	return t;
}
int main(){
    cin>>s;
	s2=jz(s);
    h=HEX(s2);
    cout<<h;
    return 0;
}
2025/1/19 10:49
加载中...