這題一開始沒想出來,一直只想著直接化成字符串然后在比較,可是那樣不僅實現比較困難,而且也不怎么實現,因為那樣要求的空間太大了,是在承受不了,后來問了下別人,一經點撥,發現OK了。哎,當時怎么就鉆進死胡同了呢……
因為給你的數字可以變成一系列字符串,如果在字典中存在某個的話,就輸出。那么就直接從文件輸入一個字符串,轉化成數據,然后比較是否一樣(這里必須用long long,因為服務器是用g++編譯的,long 太小了,__int64 會編譯出錯(__int64 在VC中用))當然這里的比較可以轉化成字符串比較,這個就不說了。這樣掃描一遍字典就OK了,為什么可以呢?因為:假設答案會輸出字符串str,那個str一定存在在dict.txt中,而且str轉化成數字后肯定和輸入的數據是一樣的,因為通過輸入的數據能變成的字符串是連續的,而且不遺漏的。
因為給你的數字可以變成一系列字符串,如果在字典中存在某個的話,就輸出。那么就直接從文件輸入一個字符串,轉化成數據,然后比較是否一樣(這里必須用long long,因為服務器是用g++編譯的,long 太小了,__int64 會編譯出錯(__int64 在VC中用))當然這里的比較可以轉化成字符串比較,這個就不說了。這樣掃描一遍字典就OK了,為什么可以呢?因為:假設答案會輸出字符串str,那個str一定存在在dict.txt中,而且str轉化成數字后肯定和輸入的數據是一樣的,因為通過輸入的數據能變成的字符串是連續的,而且不遺漏的。