Notice: Undefined index: name in /usr/www/lib/views/home/viewtitle.html on line 188
-阅读程序 第 17 题
#include <iostream>
#include <string>
using namespace std;

char base[64] ;
char table[256] ;

void init ()
{
	for (int i=0; i<26; i++)base[i]='A'+i;
	for (int i=0; i<26; i++)base[26 +i]='a'+i;
	for (int i=0; i<10; i++)base[52+i]='0'+i;
	base [62] = '+', base[63] ='/';

	for (int i =0; i<256; i++)table[i]=0xff;
	for (int i =0; i <64; i++) table[base[i]]=i;
	table['='] =0;
}

string decode (string str)
{
	string ret;
	int i;
	for (i=0; i < str.size(); i +=4){
		ret +=table[str [1]] <<2|table[str[1+1]]>> 4;
		if (str[i+2] !='=')
			ret += (table[str[i+1] ] &0x0f) <<4|table[str[i+2]] >> 2;
		if (str [i+3] !='=')
			ret += table[str[i+2] ] << 6 | table[str[i+3]];
	}
	return ret;
}

int main ()
{
	init () ;
	cout<<(int)table[0])<<endl;

	string str;
	cin>>str;
	cout<<decode (str) <<endl;
	return 0;
}
● 判断题
第 1 题 输出的第二行一定是由小写字母、大写字母、数字和“+”、“/”、“-”构成的字符串。()
第 2 题 可能存在输入不同,但输出的第二行相同的情形。()
第 3 题 输出的第一行为“-1”。
● 单选题
第 4 题 设输入字符串长度为n, decode函数的时间复杂度为()
A. $Θ(\sqrt{n})$
B. $Θ(n)$
C. $Θ(nlog n)$
D. $Θ(n^2)$
第 5 题 当输入为“Y3Nx”时,输出的第二行为()。
第 6 题 (3.5分) 当输入为“Y2NmIDIWMjE=”时,输出的第二行为()。

解答部分以后会开放。