4 条题解

  • 1
    @ 2024-11-23 19:29:56

    位运算。

    #include<bits/stdc++.h>
    using namespace std;
    string s;
    char to_char(int x)
    {
    	if (x<26)
    		return x+65;
    	if (x<52)
    		return x+71;
    	if (x<62)
    		return x-4;
    	if (x==62)
    		return '+';
    	if (x==63)
    		return '/';
    }
    int main()
    {
    	getline(cin,s);
    	for (int i=0;i<s.length();i+=3)
    		printf("%c%c%c%c",to_char(s[i]>>2),to_char(((s[i]%4)<<4)+(s[i+1]>>4)),to_char(((s[i+1]%16)<<2)+(s[i+2]>>6)),to_char(s[i+2]%64));
    	return 0;
    }
    

    信息

    ID
    739
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    (无)
    递交数
    203
    已通过
    92
    上传者