From 013924d56da2eef1d40f06e43f735b406fe2e2b1 Mon Sep 17 00:00:00 2001 From: tanyaionova Date: Thu, 21 Nov 2019 22:18:04 +0300 Subject: Add first task --- libsolve.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'libsolve.py') diff --git a/libsolve.py b/libsolve.py index 61d7f40..af72264 100644 --- a/libsolve.py +++ b/libsolve.py @@ -267,3 +267,16 @@ class Matrix: row.set_hints(max_hints) return '\n'.join(repr(row) for row in self.rows) + + +class Permutation: + def __init__(self, perm: Iterable): + self.perm = list(perm) + + def apply(self, now: list): + assert len(self.perm) == len(now) + res = [0] * len(self.perm) + for i in range(len(self.perm)): + res[self.perm[i]] = now[i] + + return res -- cgit v1.2.1-18-gbd029