我正在解決網站CodeChef的問題。 我發現這個問題:是否有我的邏輯循環-python
一些編程大賽問題確實棘手:他們不僅 需要從你期望什麼, 不同的輸出格式,而且樣本輸出不示區別。舉個例子,讓我們看看排列組合。將整數1 置換爲n是這些整數的排序。因此,代表 排列的自然方法是按此順序列出整數。當n = 5時, 排列可能看起來像2,3,4,5,1。但是,還有另一個 表示排列的可能性:您創建一個列表 數字,其中第i個數字是整數i在 排列中。讓我們稱這第二種可能性爲 排列。上述序列的逆置換是5,1, 2,3,4。不明確的置換是置換,其不能與其逆置換區分開來。例如,排列1,4,3,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,。 爲了擺脫這種煩人的示例測試用例,您必須編寫一個 程序來檢測給定的排列是否不明確。
輸入規格
輸入包含多個測試用例。每個測試 案例的第一行包含一個整數n(1≤n≤100000)。然後在下一行中跟隨整數1到n的排列。連續整數之間只有一個空格 字符。您可以假設每個 1到n之間的整數在排列中恰好出現一次。 最後一個測試用例後面跟着一個零。
輸出規範
對於每個測試情況下的輸出的置換是否是模糊的或沒有。 堅持樣本輸出中顯示的格式。
採樣輸入
4 1 4 3 2 5 2 3 4 5 1 1 1 0樣本輸出
含糊不曖昧曖昧
我發佈以下Python代碼,但他們說我的回答是錯誤的 有人可以幫助我,我的邏輯錯誤在哪裏?
我的代碼放在這裏:
def main():
T=int(input())
result=[]
while(T!=0):
list=[]
list1=[]
y=0
value=raw_input().split(' ')
for x in value:
list.append(int(x))
for x in list:
y+=1
x=list.index(y)+1
list1.append(x)
if(list==list1):
result.append("ambiguous")
else:
result.append("non-ambiguous")
T=int(input())
for a in result:
print a
main()
您正在測試迴文?如果是這樣,只需將字符串顛倒並測試它是否與原始字符串相同 –