s1 = list(input()) a = len(s1) if a % 2 == 0: b = a / 2 # shift = 0 else: b = (a - 1) / 2 # shift = 1 b = int(b) zmiany = 0 for i in range(b): c1 = s1[i] c2 = s1[a - i - 1] # print("\ni:", i, "c1:", c1, "c2:", c2) if c1 != c2: znaleziono = False for j in range(i + 1, a - i - 1): #print("JJ i:", i, "j:", j, "a-j-1:", a - j - 1, "s1[i]:", s1[i], "s1[j]:", s1[j], "s1[a-j-1]:", s1[a-j-1]) if s1[j] == c2: # pierwszy znaleziony z lewej znaleziono = True s1[i], s1[j] = s1[j], s1[i] # zamiana # s1[i] = s1[j] # s1[j] = c1 #print("lewa") elif s1[a-j-1] == c1: # pierwszy znaleziony z prawej znaleziono = True s1[a - j - 1], s1[a - i - 1] = s1[a - i - 1], s1[a - j - 1] # zamiana #print("prawa") if znaleziono == True: ruchy = j - i zmiany += ruchy #print("ruchy:", ruchy, "zmiany:", zmiany, "i:", i, "j:", j) #print("s1:", s1) break if not znaleziono: zmiany = -1 break print(zmiany)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | s1 = list(input()) a = len(s1) if a % 2 == 0: b = a / 2 # shift = 0 else: b = (a - 1) / 2 # shift = 1 b = int(b) zmiany = 0 for i in range(b): c1 = s1[i] c2 = s1[a - i - 1] # print("\ni:", i, "c1:", c1, "c2:", c2) if c1 != c2: znaleziono = False for j in range(i + 1, a - i - 1): #print("JJ i:", i, "j:", j, "a-j-1:", a - j - 1, "s1[i]:", s1[i], "s1[j]:", s1[j], "s1[a-j-1]:", s1[a-j-1]) if s1[j] == c2: # pierwszy znaleziony z lewej znaleziono = True s1[i], s1[j] = s1[j], s1[i] # zamiana # s1[i] = s1[j] # s1[j] = c1 #print("lewa") elif s1[a-j-1] == c1: # pierwszy znaleziony z prawej znaleziono = True s1[a - j - 1], s1[a - i - 1] = s1[a - i - 1], s1[a - j - 1] # zamiana #print("prawa") if znaleziono == True: ruchy = j - i zmiany += ruchy #print("ruchy:", ruchy, "zmiany:", zmiany, "i:", i, "j:", j) #print("s1:", s1) break if not znaleziono: zmiany = -1 break print(zmiany) |