소스 검색

🐱

master
Roderic Day 5 년 전
부모
커밋
61f6c4df2f
1개의 변경된 파일22개의 추가작업 그리고 0개의 파일을 삭제
  1. +22
    -0
      y2019/p22.py

+ 22
- 0
y2019/p22.py 파일 보기

@@ -0,0 +1,22 @@
import sys


def shuffle(text, L, P):
cards = list(range(L))
for line in text.splitlines():
inst, n = line.rsplit(' ', 1)
if inst == 'deal with increment':
n = int(n)
invmod = pow(n, -1, L) # pow(n, L - 2, L)
source = lambda i: i * invmod % L # noqa
elif inst == 'cut':
n = int(n)
source = lambda i: (i + n) % L # noqa
elif inst == 'deal into new':
source = lambda i: (L - 1 - i) % L # noqa
cards = [cards[source(i)] for i in range(L)]
return cards.index(P)


text = sys.stdin.read()
print(shuffle(text, 10007, 2019))

Loading…
취소
저장