wa 100分
  • 板块B3617 古籍翻译
  • 楼主Syncc
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/11/5 09:11
  • 上次更新2023/11/5 10:45:32
查看原帖
wa 100分
766788
Syncc楼主2023/11/5 09:11

8转2转16

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
string turi[]={"000","001","010","011","100","101","110","111"};
int main(){
	string s,ts,tts;
	cin>>s;
	for(int i=0;i<s.size();i++){
		ts+=turi[s[i]-'0'];
	}
	if(s.size()%4!=0){
		string g;
		for(int i=1;i<=4-ts.size()%4;i++){
			g+='0';
		}
		g+=ts;
		ts=g;
	}
	for(int i=0;i<ts.size();i+=4){
		if(ts[i]=='0' && ts[i+1]=='0' && ts[i+2]=='0' && ts[i+3]=='0') tts+='0';
		if(ts[i]=='0' && ts[i+1]=='0' && ts[i+2]=='0' && ts[i+3]=='1') tts+='1';
		if(ts[i]=='0' && ts[i+1]=='0' && ts[i+2]=='1' && ts[i+3]=='0') tts+='2';
		if(ts[i]=='0' && ts[i+1]=='0' && ts[i+2]=='1' && ts[i+3]=='1') tts+='3';
		if(ts[i]=='0' && ts[i+1]=='1' && ts[i+2]=='0' && ts[i+3]=='0') tts+='4';
		if(ts[i]=='0' && ts[i+1]=='1' && ts[i+2]=='0' && ts[i+3]=='1') tts+='5';
		if(ts[i]=='0' && ts[i+1]=='1' && ts[i+2]=='1' && ts[i+3]=='0') tts+='6';
		if(ts[i]=='0' && ts[i+1]=='1' && ts[i+2]=='1' && ts[i+3]=='1') tts+='7';
		if(ts[i]=='1' && ts[i+1]=='0' && ts[i+2]=='0' && ts[i+3]=='0') tts+='8';
		if(ts[i]=='1' && ts[i+1]=='0' && ts[i+2]=='0' && ts[i+3]=='1') tts+='9';
		if(ts[i]=='1' && ts[i+1]=='0' && ts[i+2]=='1' && ts[i+3]=='0') tts+='a';
		if(ts[i]=='1' && ts[i+1]=='0' && ts[i+2]=='1' && ts[i+3]=='1') tts+='b';
		if(ts[i]=='1' && ts[i+1]=='1' && ts[i+2]=='0' && ts[i+3]=='0') tts+='c';
		if(ts[i]=='1' && ts[i+1]=='1' && ts[i+2]=='0' && ts[i+3]=='1') tts+='d';
		if(ts[i]=='1' && ts[i+1]=='1' && ts[i+2]=='1' && ts[i+3]=='0') tts+='e';
		if(ts[i]=='1' && ts[i+1]=='1' && ts[i+2]=='1' && ts[i+3]=='1') tts+='f';
	}
	bool flg=0;
	for(int i=0;i<tts.size();i++){
		if(tts[i]!='0' || flg){
			cout<<tts[i];
			flg=1;
		}
	}
	return 0;
}
2023/11/5 09:11
加载中...