看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) win10,直接用notepad++寫code,然後再到線上的compile c gcc online環境跑結果 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 英文題目: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1284 中文翻譯: 利用 64 個可列印字元來表示二進位資料。每個可列印字元以6個位元為一個單元。 3個位元組(24個位元)則需要用4個可列印字元。在Base64的可列印字元如表包含 A-Z , a-z ,數字 0-9 , + , / (原文中有對照表) 解碼時,必須忽略換行及未出現在上表的字符。如果輸入少於24位元,會在末端添加一些 「0」 ,以形成完整的6位元,並用「=」來表示末端的填充。 因為所有 Base64 的輸入都是完整的字節,所以只可能出現如下情況: (1)編碼輸入為完整的24位元,則編碼輸出為4個非「=」的字符; (2)編碼輸入為8位元,則編碼輸出為2個編碼字符與2個填充字符「=」; (3)編碼輸入為16位元,則編碼輸出為3個編碼字符與1個填充字符「=」; 餵入的資料(Input): VGhpc0lzVGVzdA== # QSBUZXN0IElucHV0W3so KX1d ## 預期的正確結果(Expected Output): ThisIsTest#A Test Input[{()}]# 錯誤結果(Wrong Output): uva online judge 一直報 wrong answer 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) http://codepad.org/i5EA2cgd 補充說明(Supplement): 小弟初次在此發文,還請多指教。 有一題 UVA10343 Base64 Decoding 小弟真的很困擾的是,此程式我的input也都測試過了,能輸出標準的output, 但丟上uva online judge 就一直是報 wrong answer .... 可否請版上的好心幫我我一下,是否是那個環節可能沒有注意到呢?感激不盡啊~~ 小弟補充一下,他的題意在每組測試資料,有要求的狀況如下說明: 說明:輸入資料有多組測試資料,每組以「#」代表結束。最後一組測資僅包含 #,並 不需要處理。針對每組測資,印出解碼後的字元,每組答案最後必須接著 #。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.74.120.18 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1524204031.A.916.html
Sirctal: 這個應該要去 Prob_slov版吧 04/20 14:43
saufu08: 好的好的,因為我查本板的歷史發問 04/20 16:10
saufu08: 也有人問UVA體,所以小弟也才來求救一下… 04/20 16:11
jerryh001: 輸出結果後要換行? 04/20 18:50
saufu08: 樓上,請問一下您說的換行是指? 04/20 20:08
※ 編輯: saufu08 (101.14.135.6), 04/20/2018 20:15:48
Lipraxde: ##的時後吧? 04/20 20:30
Killercat: 其實uva輸出格式也該改進了 改成json的話應該容易點 04/20 20:36
Killercat: 或者return value改成一個std::map來做validate 04/20 20:36
saufu08: 感謝樓上大大,請問通常是UVA都會要求結束時換行嗎? 04/20 20:49
saufu08: 要如何修正呢?可否給小弟一點方向,感謝了 04/20 20:50
jerryh001: 每行結束都要有換行算是這種題庫的通則(嗎?) 04/21 00:01
Killercat: 我卡過很多次都是因為根本不知道是答案錯 還是格式錯 04/21 10:21