k = input().split() n, m, s = k n, m, s = int(n), int(m), int(s) budynki = [x for x in range(1, n + 1)] przedzialy = [] for i in range(m): l = input().split() x, y = l przedzialy.append((int(x), int(y))) for x, y in przedzialy: for i in range(x, y + 1): budynki[i - 1] = 'z' budynki[s - 1] = 's' p1 = 0 p2 = 0 indeks1 = budynki.index('s') for i in range(indeks1, len(budynki)): if budynki[i] != 'z' and budynki[i] != 's': p1 = budynki[i] break if p1 != 0: odleglosc1 = abs(budynki.index(p1) - indeks1) budynki.reverse() indeks2 = budynki.index('s') for i in range(indeks2, len(budynki)): if budynki[i] != 'z' and budynki[i] != 's': p2 = budynki[i] break if p1 == 0: print(p2) exit() elif p2 == 0: print(p1) exit() odleglosc2 = abs(budynki.index(p2) - indeks2) if odleglosc1 == odleglosc2: print(p2) elif odleglosc2 > odleglosc1: print(p1) else: print(p2)
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 | k = input().split() n, m, s = k n, m, s = int(n), int(m), int(s) budynki = [x for x in range(1, n + 1)] przedzialy = [] for i in range(m): l = input().split() x, y = l przedzialy.append((int(x), int(y))) for x, y in przedzialy: for i in range(x, y + 1): budynki[i - 1] = 'z' budynki[s - 1] = 's' p1 = 0 p2 = 0 indeks1 = budynki.index('s') for i in range(indeks1, len(budynki)): if budynki[i] != 'z' and budynki[i] != 's': p1 = budynki[i] break if p1 != 0: odleglosc1 = abs(budynki.index(p1) - indeks1) budynki.reverse() indeks2 = budynki.index('s') for i in range(indeks2, len(budynki)): if budynki[i] != 'z' and budynki[i] != 's': p2 = budynki[i] break if p1 == 0: print(p2) exit() elif p2 == 0: print(p1) exit() odleglosc2 = abs(budynki.index(p2) - indeks2) if odleglosc1 == odleglosc2: print(p2) elif odleglosc2 > odleglosc1: print(p1) else: print(p2) |