Прикреплённый файл «Matan.py»
Загрузка 1 #!/usr/bin/env python
2 # coding: utf
3 '''
4 У каждого студента i (1 ≤ i ≤ n) есть его лучший друг p[i].
5 В первый день подготовки каждый студент учит матанализ по своим лекциям,
6 утром каждого следующего дня каждый студент передает тетрадку с лекциями своему лучшему другу, но получает тетрадку от студента, чьим лучшим другом он является.
7
8 a1, a2, ..., an, где ai обозначает студента, у кого в третий день подготовки находится тетрадь i-го студента;
9 b1, b2, ..., bn, где bi обозначает студента, у кого в четвертый день подготовки находится тетрадь i-го студента.
10
11 Вам неизвестен массив p, то есть неизвестно, кто является чьим лучшим другом. Напишите программу, которая по заданным последовательностям a и b находит p.
12 '''
13
14 import sys
15
16 def gen(N): # Генератор
17 g=genI(10)
18 d,a,b=g.next(),g.next(),g.next()
19 print N
20 print " ".join(map(str, a))
21 print " ".join(map(str, b))
22
23 def genI(N): # Генератор-генератор :)
24 import random
25 a=range(N)
26 unp=a[:]
27 random.shuffle(unp)
28 p=[0]*N
29 for i in xrange(N):
30 p[unp[i]]=i
31 print >> sys.stderr, "*",[c+1 for c in p]
32 while True:
33 a=[a[unp[f]] for f in xrange(N)]
34 yield [e+1 for e in a]
35
36 def check(a,b): # Проверочная функция
37 p=[0]*len(a)
38 for i in xrange(len(a)):
39 p[b[i]]=a[i]
40 return " ".join(map(lambda c: str(c+1), p))
41
42 if len(sys.argv)>1:
43 gen(int(sys.argv[1]))
44 else:
45 N=int(raw_input())
46 a=map(lambda c: int(c)-1,raw_input().split())
47 b=map(lambda c: int(c)-1,raw_input().split())
48 print check(a,b)
49 # А вот и решение в одну строчку!
50 print " ".join(reduce(lambda l,(e,f): l.__setitem__(e,str(f+1)) or l, zip(b,a), [0]*N))
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2012-05-02 09:00:02, 2.2 KB) [[attachment:Matan.py]]
- [получить | показать] (2012-05-02 09:00:17, 2.3 KB) [[attachment:NOCamelCase.py]]
Вам нельзя прикреплять файлы к этой странице.