def zeta_search(n, r, c):
if n == 1:
return r * 2 + c
elif n > 1:
return 4 * zeta_search(n - 1, int(r / 2), int(c / 2)) + zeta_search(1, r % 2, c % 2)
else:
return -1
n, r, c = list(map(int, input().split()))
result = int(zeta_search(n, r, c))
print(result)
11866) 요세푸스 문제 0 (문석)
n, k = map(int, input().split())
circle = []
josephus = []
for index in range(n):
circle.append(index + 1)
for _ in range(n):
for index in range(k):
first = circle.pop(0)
if index < k - 1:
circle.append(first)
else:
josephus.append(first)
print(repr(josephus).replace('[', '<').replace(']', '>'))
class Account:
def __init__(self):
self.records = []
def push(self, e):
self.records.append(e)
def pop(self):
if len(self.records) > 0:
self.records.pop()
def sum(self):
result = 0
for index in range(len(self.records)):
result = result + self.records[index]
return result
k = int(input())
account = Account()
while k > 0:
n = int(input())
if n == 0:
account.pop()
else:
account.push(n)
k = k - 1
print(account.sum())
10814) 나이순 정렬 (태홍)
class Member:
def __init__(self, id: int, age: int, name: str):
self.id = id
self.age = age
self.name = name
def getIdAndName(self):
return str(self.age) + ' ' + self.name
n = int(input())
members = []
for index in range(n):
age, name = input().split()
member = Member(index, int(age), name)
members.append(member)
members.sort(key=lambda member: member.age)
for index in range(n):
print(members[index].getIdAndName())
1003) 피보나치 함수 (병진)
t = int(input())
zeros = [1, 0]
ones = [0, 1]
for index in range(2, 41):
zeros.append(zeros[index-2] + zeros[index-1])
ones.append(ones[index-2] + ones[index-1])
while t > 0:
n = int(input())
print(str(zeros[n]) + ' ' + str(ones[n]))
t = t - 1