)
2021年CSP-J初賽真題及答案解析(閱讀程序2)第2題#includeiostream#includestringusingnamespacestd;charbase[64];chartable[256];voidinit(){for(inti0;i26;i)base[i]Ai;for(inti0;i26;i)base[26i]ai;for(inti0;i10;i)base[52i]0i;base[62],base[63]/;for(inti0;i256;i)table[i]0xff;for(inti0;i64;i)table[base[i]]i;table[]0;}stringdecode(string str){string ret;inti;for(i0;istr.size();i4){rettable[str[i]]2|table[str[i1]]4;if(str[i2]!)ret(table[str[i1]]0x0f)4|table[str[i2]]2;if(str[i3]!)rettable[str[i2]]6|table[str[i3]];}returnret;}intmain(){init();coutint(table[0])endl;string str;cinstr;coutdecode(str)endl;return0;}判斷題每題 1.5 分輸出的第二行一定是由小寫字母、大寫字母、數(shù)字和、/、構(gòu)成的字符串。 A. 正確B. 錯誤可能存在輸入不同但輸出的第二行相同的情形。 A. 正確B. 錯誤輸出的第一行為-1。 A. 正確B. 錯誤單選題設(shè)輸入字符串長度為ndecode函數(shù)的時間復雜度為 A. (O(\sqrt{n}))B. (O(n))C. (O(n \log n))D. (O(n^2))當輸入為Y3Nx時輸出的第二行為 。A. cspB. csqC. CSPD. Csp當輸入為Y2NmIDIwMjE時輸出的第二行為 。A. ccf2021B. ccf2022C. ccf 2021D. ccf 2022答案與解析1. 答案B錯誤解析decode執(zhí)行的是 Base64 解碼輸出的是原始二進制數(shù)據(jù)對應(yīng)的字符。原始數(shù)據(jù)可以是任意字節(jié)值例如 0x000xFF這些字節(jié)對應(yīng)的字符不一定都是大小寫字母、數(shù)字或、/、。例如解碼后可能出現(xiàn)不可打印的控制字符或擴展 ASCII 碼。2. 答案A正確解析Base64 解碼時每個字符用 6 位表示分組解碼時最后未完全使用的低位填充位會被忽略。因此同一段明文可能對應(yīng)多種不同的 Base64 編碼串解碼器不檢查這些被忽略的位所以輸入不同但輸出相同是可能的。3. 答案A正確解析table[0]在init()中被初始化為0xff。0xff作為有符號char類型時值為-1通過int(table[0])輸出結(jié)果為-1。4. 答案BO(n)解析decode函數(shù)中循環(huán)步長為 4循環(huán)次數(shù)約為n/4。每次循環(huán)內(nèi)的操作位運算、賦值均為常數(shù)時間因此總時間復雜度為線性階即 (O(n))。5. 答案Bcsq解析對Y3Nx進行解碼Y(24)3(55)N(13)x(49)第 1 個字節(jié)24 2 | 55 4 96 | 3 99→c第 2 個字節(jié)(55 0x0F) 4 | 13 2 7 4 | 3 112 | 3 115→s第 3 個字節(jié)(13 0x03) 6 | 49 1 6 | 49 64 | 49 113→q得到csq。6. 答案Cccf 2021解析將輸入分組解碼Y2Nm→ 解碼為ccfIDIw→ 解碼為20注意開頭有一個空格MjE→ 解碼為21末尾有只產(chǎn)生一個字節(jié)拼接后為ccf2021ccf 2021。更多內(nèi)容請關(guān)注專欄信奧賽C普及組csp-j初賽復賽真題題解持續(xù)更新https://blog.csdn.net/weixin_66461496/category_12808781.html 點擊跳轉(zhuǎn)【秘籍匯總】完整csp信奧賽C學習資料1、csp/信奧賽C完整信奧賽系列課程永久學習https://edu.csdn.net/lecturer/7901 點擊跳轉(zhuǎn)2、CSP信奧賽C競賽拿獎視頻課https://edu.csdn.net/course/detail/40437 點擊跳轉(zhuǎn)https://edu.csdn.net/course/detail/41081 點擊跳轉(zhuǎn)3、csp信奧賽高頻考點知識詳解及案例實踐CSP信奧賽C動態(tài)規(guī)劃https://blog.csdn.net/weixin_66461496/category_13096895.html點擊跳轉(zhuǎn)CSP信奧賽C標準模板庫STLhttps://blog.csdn.net/weixin_66461496/category_13108077.html 點擊跳轉(zhuǎn)信奧賽C提高組csp-s知識詳解及案例實踐https://blog.csdn.net/weixin_66461496/category_13113932.html 點擊跳轉(zhuǎn)4、csp信奧賽沖刺一等獎有效刷題題解信奧賽C普及組CSP-J一等獎通關(guān)刷題題單及題解https://blog.csdn.net/weixin_66461496/category_12673810.html 點擊跳轉(zhuǎn)信奧賽C普及組csp-j初賽復賽真題題解持續(xù)更新https://blog.csdn.net/weixin_66461496/category_12808781.html 點擊跳轉(zhuǎn)信奧賽C提高組csp-s初賽復賽真題題解持續(xù)更新https://blog.csdn.net/weixin_66461496/category_13125089.html 點擊跳轉(zhuǎn)5、GESP C考級真題題解GESP(C 一級二級三級)真題題解持續(xù)更新https://blog.csdn.net/weixin_66461496/category_12858102.html 點擊跳轉(zhuǎn)GESP(C 四級五級六級)真題題解持續(xù)更新https://blog.csdn.net/weixin_66461496/category_12869848.html 點擊跳轉(zhuǎn)GESP(C 七級八級)真題題解持續(xù)更新https://blog.csdn.net/weixin_66461496/category_13117178.html 點擊跳轉(zhuǎn)· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟著王老師一起學習信奧賽C;cout 成就更好的自己 ;cout csp信奧賽一等獎屬于你! ;return0;}