关注
//大佬没事看看我这个第二题,,,先看的第三题,写了一下,没过,剩下时间都在写第二题,
//想着不急,打了个表,但是0通过。。。。。。。
/************************************************************************* > File Name: 2.cpp > Author: > Mail: > Created Time: 2019年04月06日 星期六 20时00分57秒
************************************************************************/
#include<iostream>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <string.h>
#include <map>
using namespace std;
void diyi(string &str) {
int k = str.size() % 3;
if (k == 2) str = "0" + str;
else if (k == 1) str = "00" + str;
}
void dier(string &str) {
string tt;
map<char,string> ma;
ma['0'] = "0000";
ma['1'] = "0001";
ma['2'] = "0010";
ma['3'] = "0011";
ma['4'] = "0100";
ma['5'] = "0101";
ma['6'] = "0110";
ma['7'] = "0111";
ma['8'] = "1000";
ma['9'] = "1001";
ma['a'] = "1010";
ma['b'] = "1011";
ma['c'] = "1100";
ma['d'] = "1101";
ma['e'] = "1110";
ma['f'] = "1111";
//cout << str << endl;
for (int i = 0; i < str.size(); i+= 3) {
string te;
int k = 0;
int temp = 0;
char ch[32];
for (int kk = 0; kk < 32; kk++) ch[kk] = 0;
while (k < 3) {
temp = temp * 10 + str[i + k] - '0';
k++;
}
//55 37
sprintf(ch,"%0x",temp);
int j = 0;
while (ch[j]) {
te += ma[ch[j]];
j++;
}
j = 0;
while (j < te.size() && te[j] == '0') {
te.erase(j,j + 1);
}
tt += te;
}
str = tt;
return ;
}
void disan(string &str) {
int k = str.size() % 5;
if (k == 1) str = "0000" + str;
else if (k == 2) str = "000" + str;
else if (k == 3) str = "00" + str;
else if (k == 4) str = "0" + str;
}
void disi(string &str) {
string te;
map<string,string> ma;
ma["00000"] = "0";
ma["00001"] = "1";
ma["00010"] = "2";
ma["00011"] = "3";
ma["00100"] = "4";
ma["00101"] = "5";
ma["00110"] = "6";
ma["00111"] = "7";
ma["01000"] = "8";
ma["01001"] = "9";
ma["01010"] = "A";
ma["01011"] = "B";
ma["01100"] = "C";
ma["01101"] = "D";
ma["01110"] = "E";
ma["01111"] = "F";
ma["10000"] = "G";
ma["10001"] = "H";
ma["10010"] = "I";
ma["10011"] = "J";
ma["10100"] = "K";
ma["10101"] = "L";
ma["10110"] = "M";
ma["10111"] = "N";
ma["11000"] = "O";
ma["11001"] = "P";
ma["11010"] = "Q";
ma["11011"] = "R";
ma["11100"] = "S";
ma["11101"] = "T";
ma["11110"] = "U";
ma["11111"] = "V";
for (int i = 0; i < str.size(); i+= 5) {
int k = 0;
string tt;
while (k < 5) {
tt += str[i + k];
k++;
}
te += ma[tt];
//cout << "tt "<< tt << endl;
}
str = te;
return ;
}
int main() {
int t;
cin >> t;
while (t--) {
string str;
cin >> str;
diyi(str);
dier(str);
disan(str);
disi(str);
cout << str << endl;
}
return 0;
}
查看原帖
点赞 2
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 工作半年后更确定:我们依然不欠优绩主义什么6783
- 2... 圣诞节用 AI 做个牛客运营翻翻乐!(含代码)2388
- 3... 岁末论道:谁才是牛客 2025 最强修仙者?2115
- 4... 大学废物离开优绩主义之后发现外面根本没下雨1843
- 5... #牛客2025仙途报告#居然是五颗星1816
- 6... 【2025-年终总结】25届毕业生果果牛这一年~1653
- 7... 仙途报告1505
- 8... 一个程序员的自救书|从酒吧陪玩DM到上岸大厂1437
- 9... 腾讯 微信支付一面面经1335
- 10... 在当下这个社会,在人生这个无常的时代,我真心希望你和各位牛友开心1026
正在热议
更多
# 牛客2025仙途报告 #
9192次浏览 200人参与
# 我们是不是被“优绩主义”绑架了? #
725次浏览 40人参与
# 2025年终总结 #
186582次浏览 3138人参与
# 你面试体验感最差/最好的公司 #
26173次浏览 433人参与
# 找工作,行业重要还是岗位重要? #
86438次浏览 1724人参与
# 今年你最想重开的一场面试是? #
9053次浏览 107人参与
# 礼物开箱Plog #
2622次浏览 97人参与
# 一人说一个提前实习的好处 #
18172次浏览 263人参与
# 秋招落幕,你是He or Be #
19373次浏览 335人参与
# 重来一次,你会对开始求职的自己说 #
8618次浏览 224人参与
# 工作中听到最受打击的一句话 #
10839次浏览 162人参与
# 为了秋招你都做了哪些准备? #
29376次浏览 523人参与
# 实习没事做是福还是祸? #
21297次浏览 316人参与
# 工作两年,想和老板谈涨薪怎么说 #
39010次浏览 176人参与
# 实习的内耗时刻 #
212395次浏览 1576人参与
# 离家近房租贵VS离家远但房租低,怎么选 #
13871次浏览 130人参与
# 这些公司卡简历很严格 #
82549次浏览 375人参与
# 拿到offer之后,可以做些什么 #
81185次浏览 428人参与
# 职场上哪些行为很加分? #
308293次浏览 3489人参与
# 团建是“福利”还是是 “渡劫” #
9407次浏览 178人参与
腾讯云智研发成长空间 5088人发布