再解python問題時最常遇到re問題了
----------------------------------------------------------------------------
第 1 測資點(100%): RE (code:1)
執行時期錯誤
您的程式被監控系統中斷,可能是程式無法正常結束所導致
--------------------------------------------------
明明再自己的主機測試時都沒問題 但但丟到zerojudge就會出現re
這是因為zerojudge再輸入時 有時只會單純輸入<enter>
所以你會得到字串 "\n"
若直接將字串轉形成int物件 就會出現錯誤
所以解決方法就是判斷輸入得到的字串是否可以可以正確轉型
以下是這題的示範解法 希望可以幫到各位
--------------------------------------------------------------------------------------
import sys
def recursion(lt,use,current,n):
if current==n:
for i in range(n):
print("{0}".format(lt[i]),end="")
print()
else:
for i in range(n-1,-1,-1):
if use[i]==0 :
use[i]=1
lt[current]=i+1
recursion(lt,use,current+1,n)
use[i]=0
else:
pass
lt=[0]*8
use=[0]*8
for n in sys.stdin:
if n[0]!="\n":
n=int(n)
use=[0]*n
recursion(lt,use,0,n)