社区讨论

90求助(WA on #3 and Subtask #1)

B3617古籍翻译参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m630sy8d
此快照首次捕获于
2025/01/19 10:50
去年
此快照最后确认于
2025/11/04 11:19
4 个月前
查看原帖
硬核打表
CPP
#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;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...