我的代码很短,迭代次数少于其他次数,但仍会在codechef.com上接受其他代码时超时错误。该代码解决方案上codechef.com 的“暧昧置换”的问题为什么是这样的代码:比这个代码快即使迭代更多,为什么一个代码比其他代码更快?
def inverse(data,x):
temp=[]
for i in range(x):
temp.append(0)
for i in range(x):
temp[data[i]-1]=i+1
return temp
def main():
while 1:
x=input()
if not x:
return
data=raw_input().split(' ')
for i in range(len(data)):
data[i]=int(data[i])
temp = inverse(data,x)
if temp==data:
print 'ambiguous'
else:
print 'not ambiguous'
if __name__ == "__main__":
main()
:
while True:
output=[]
n= input()
if n==0: break
caseList= raw_input().split()
amb=1
for i in range(1, n+1):
output.append(str(caseList.index(str(i))+1))
if output==caseList:
print ("ambiguous")
else:
print ("not ambiguous")
请帮我...
问题链接:http://www.codechef.com/problems/PERMUT2/ – jsbueno 2012-03-02 05:20:14