Файзуллов Айрат Рафагатович 530 группа CompactPairs 14190
Кирнев Юрий, 321 группа CompactPairs 14088
f1import stringf1import string
2import sys2import sys
33
4class Pairs:4class Pairs:
n5    __slots__ = ('_offset',)n5    __slots__ = '_start'
66
n7    def __init__(self, initial_value):n7    def __init__(self, N):
8        self._offset = initial_value8        self._start = N
99
n10    def __getattr__(self, attribute):n10    def __getattr__(self, name):
11        if attribute in string.ascii_letters:11        if name in string.ascii_letters:
12            char_index = string.ascii_letters.index(attribute) + 112            i = string.ascii_letters.index(name) + 1
13            alphabet_size = len(string.ascii_letters)13            l = len(string.ascii_letters)
14            mapped_value = (self._offset + char_index - 2) % alphabet_si14            val = (self._start + i - 2) % l + 1
>ze + 1 
15            return mapped_value15            return val
1616
n17    def __setattr__(self, attribute, value):n17    def __setattr__(self, name, val):
18        if attribute in string.ascii_letters:18        if name in string.ascii_letters:
19            char_index = string.ascii_letters.index(attribute) + 119            i = string.ascii_letters.index(name) + 1
20            adjustment = (value - char_index) % len(string.ascii_letters20            step = (val - i) % len(string.ascii_letters)
>) 
21            self._offset = 1 + adjustment21            self._start = 1 + step
22        else:22        else:
n23            super().__setattr__(attribute, value)n23            super().__setattr__(name, val)
2424
25    def __str__(self):25    def __str__(self):
t26        alphabet_size = len(string.ascii_letters)t26        l = len(string.ascii_letters)
27        reordered = [None] * alphabet_size27        ans = [None] * l
28        for idx, char in enumerate(string.ascii_letters):28        for i, c in enumerate(string.ascii_letters):
29            mapped_position = (self._offset + idx - 1) % alphabet_size +29            val = (self._start + i - 1) % l + 1
> 1 
30            reordered[mapped_position - 1] = char30            ans[val - 1] = c
31        return ' '.join(reordered)31        return ' '.join(ans)
32exec(sys.stdin.read())32exec(sys.stdin.read())
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op