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