90pts!help!WA on #7
查看原帖
90pts!help!WA on #7
767449
KukCair楼主2023/10/20 16:25
#include <iostream>
#include <stdio.h>
#include <map>
#define int long long
using namespace std;
string s;
map<char, int> mp;
map<int, char> mp2;
int to10(string s){
	int sum = mp[s[0]] * 16 + mp[s[1]];
	return sum;
}
string ton(int s, int jz){
	string sum = "";
	while(s){
		sum = mp2[s % jz] + sum;
		s /= jz;
	}
	if(sum.size() == 2)return sum;
	if(sum.size() == 1)return '0' + sum; 
	return "00" + sum;
} 
signed main(){
	cin >> s;
	mp['1'] = 1, mp2[1] = '1';
	mp['2'] = 2, mp2[2] = '2';
	mp['3'] = 3, mp2[3] = '3';
	mp['4'] = 4, mp2[4] = '4';
	mp['5'] = 5, mp2[5] = '5';
	mp['6'] = 6, mp2[6] = '6';
	mp['7'] = 7, mp2[7] = '7';
	mp['8'] = 8, mp2[8] = '8';
	mp['9'] = 9, mp2[9] = '9';
	mp['A'] = 10, mp2[10] = 'A';
	mp['B'] = 11, mp2[11] = 'B';
	mp['C'] = 12, mp2[12] = 'C';
	mp['D'] = 13, mp2[13] = 'D';
	mp['E'] = 14, mp2[14] = 'E';
	mp['F'] = 15, mp2[15] = 'F';
	int r = 255LL - to10(s.substr(1, 2));
	int g = 255LL - to10(s.substr(3, 2));
	int b = 255LL - to10(s.substr(5, 2));
	cout << '#' << ton(r, 16) << ton(g, 16) << ton(b, 16);
	return 0;
}
2023/10/20 16:25
加载中...