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) |
English