old-1074 cleared

This commit is contained in:
2020-09-24 16:28:54 +09:00
parent 3dcf561553
commit 014db0fd9a
3 changed files with 43 additions and 36 deletions

View File

@@ -1,36 +0,0 @@
Size, r, c = map(int, input().split())
count = -1
def Z(X: int, Y: int, size: int):
global count, r, c
if size == 0:
count += 1
if X == c and Y == r:
print(count)
exit()
else:
p = 2**(size-1)
Z(X, Y, size-1)
Z(X+p, Y, size-1)
Z(X, Y+p, size-1)
Z(X+p, Y+p, size-1)
Z(0,0,Size)
'''
Z(0,0,2)
Z(0,0,1)
Z(0,0,0) each count() if size = 0
Z(1,0,0)
Z(0,1,0)
Z(1,1,0)
Z(2,0,1)
Z(2,0,0)
Z(3,0,0)
Z(2,1,0)
Z(3,1,0)
Z(0,2,1)
Z(2,2,1)
Z(1*2^2,0,2)
Z(1*2^2, 0, 1)
Z(2^2 + 1*2^0)
'''

33
zeta_python/3645.py Normal file
View File

@@ -0,0 +1,33 @@
# 선영이가 이길 수 있는 솔루션은 하나 이상 Because 선영이가 지는 팀을 이길 수 있는 팀이 하나 이상 주어짐
# 아마도 'Top-Down' 으로 구현하는게 좋을듯 어짜피 마지막에선 선형이가 이길 수 있는 대상이 나와야 하니까
while True:
T = []
try:
N = int(input())
Seed = [list(map(int, input())) for _ in range(N)]
except EOFError:
break
for i in range(N):
if Seed[0][i]:
T.append([[(0, i)], [0, i], [0, i]]) # share-plate, check-plate, used-plate
while T:
share, check, used = T.pop()
if len(share) == N-1:
print(share)
break
Temp = [[0]*N for _ in range(len(check))]
for idx, chck in enumerate(check):
for i in range(N):
if chck == i:
continue
if not Seed[chck][i] and i not in used:
Temp[idx][i] = 1
# 난 못하겠소 다시는 못하겠소
print(T)
print('g')

View File

@@ -0,0 +1,10 @@
N, r, c = map(int, input().split())
Z = lambda r, c: r * 2 + c
S = 0
for i in range(N - 1, -1, -1):
S += (4 ** i) * Z(r // (2 ** i), c // (2 ** i))
r, c = r % (2 ** i), c % (2 ** i)
print(S)