私はSPOJの問題5を解決しようとしています。与えられた入力に対して次に大きな整数「回文」を探します。つまり、10進表記では、左から右、右から左に同じものを読み取る整数です。SPOJ次のパインドーム
代わりに力まかせ探索を使用しての質問here
のを見てください、私は次の回文を計算してみてください。しかし、私のコードはまだTLE(つまり、時間制限超過)を返すと私はイライラしています...私にヒントを与えてもらえますか?ここで
だから、その問題に基づいて
if __name__ == '__main__':
n = int(input())
for i in range(n):
string = input()
length = len(string)
ans = ""
if length %2 == 0 :
half = length // 2
str_half = string[0:half]
ans = str_half + str_half[::-1]
if(ans <= string):
str_half = str(int(str_half) + 1)
ans = str_half + (str_half[0:half])[::-1]
print(ans)
else:
half = length // 2
str_half = string[0:half]
ans = str_half + string[half] + str_half[::-1]
if(ans<= string):
str_half = str(int(str_half+string[half]) + 1)
ans = str_half + (str_half[0:half])[::-1]
print(ans)
入力に失敗しましたか?どの入力が機能するのですか? – sarnold
TLEとは何ですか? 15 chars – Woot4Moo
私は入力が失敗したと思う... TLEは、 – Bear