全部评论
3题全AC了。。前俩题很简单,第三题拓扑排序+二分暴力怼过去了emmm
明明本地试过了 很长很长的数也试过了都对 但是提交就是过不了啊啊啊我枯了
第三个只过了10%,不难但是很迷
同提交就是过不了😭
我真的想不明白,为什么说我是0测试用例通过。
就会做一道题...
我也是本地过了很长的数结果在线却告诉我只能通过30% 可能是什么细节没注意到吧
我自己测了好久,至少过个50%没问题的吧。
一共1+0+0.6是不是凉了
GG
我第一题莫名其妙被卡(测试了各种,结果交上去就是0%...),AC了第二题,第三题没看😢
我也是样例过了,0测试通过,,,难道是我太菜了
只做出第一题的路过
GG,好难,一道都不会
第二题本地试毫无问题啊,为什么提交就是0%?卡住了连第三题都没看
果然还是我太菜了。。。拼死就ac一道
第三题骗了30
请各位大佬帮忙看看第二题是IO有什么问题吗?为什么本地能通过,测试样例也能通过,提交就是0%呢?(PS:上次室友做网易的笔试也遇到这样的问题,感觉不解决这个问题以后都只能是0%了),谢谢大家。 while True:
try:
T = eval(input())
for i in range(T):
ini_num = input()
n = len(ini_num)
num = (3 - n % 3) * '0' + ini_num
sep1 = []
i = 0
j = 3
while i < len(num):
sep1.append(num[i:j])
i = j
j = i + 3
sep2 = ''
for i in range(len(sep1)):
temp = bin(int(sep1[i]))[2:]
if i == 0:
pass
else:
if len(temp) < 10:
temp = '0' * (10 - len(temp)) + temp
sep2 += temp
sep2 = (5 - len(sep2) % 5) * '0' + sep2
i = 0
j = 5
sep3 = []
while i < len(sep2):
sep3.append(sep2[i:j])
i = j
j = i + 5
ans = ''
for item in sep3:
digit = int(item, 2)
if digit >= 10:
ans += chr(ord('A') + digit - 10)
else:
ans += str(digit)
print(ans)
except:
break
AC的了请问你们的输入结束判断是什么啊,是换行符吗
//大佬没事看看我这个第二题,,,先看的第三题,写了一下,没过,剩下时间都在写第二题,
//想着不急,打了个表,但是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;
}
相关推荐