A. Anastasia and pebbles 문제 Anastasia 에게 2개의 주머니가 있고 각 주머니에 최대 k개의 조약돌을 넣을 수 있다. 또한 한 주머니에는 한 종류의 조약돌만 넣을 수 있을 때 모든 조약돌을 줍는데 걸리는 최소 일자를 구하는 문제이다. 문제 풀이 매일 각 주머니에 최대한 넣는걸 반복하면 된다. 소스 코드 B. Masha and geometric depression 문제 b, q, l, m 이 주어졌을 때 보드에 적게되는 수열의 수를 구하는 문제이다. 문제 풀이 b가 0인 경우와 q가 -1, 0, 1 인 경우들을 잘 분리해서 구현하면 된다.좀 더 생각해보면 q가 -1인 경우만 제외해서 구현하면 쉽게 구현할 수 있다.싸이클을 체크하는 use set와 bad integer를 저장하는 ..
A. Bear and Big Brother 문제 Limak 와 Bob의 몸무게가 주어진다. Limak는 매년 3배씩 커지고 Bob은 2배씩 커진다. Limak가 Bob보다 커지기 위해서는 최소 몇 년이 지나야 하는지 구하는 문제이다. 문제 풀이 단순하게 1년 씩 늘리면서 2와 3을 각각 곱하고, Limak가 커질 때 출력하면 된다. 소스 코드 B. Bear and Friendship Condition 문제 친구 관계가 그래프로 주어진다. 한 컴포넌트내의 모든 정점이 서로 연결되어 있는지(완전 그래프)인지 판별하는 문제이다. 문제 풀이 각 정점마다 연결된 간선이 해당 정점이 포함된 컴포넌트 크기 - 1 인지 확인한다. 소스 코드 C. Bear and Different Names 문제 N명의 군인이 있고, ..
A. Anton and Polyhedrons 문제 다면체의 이름이 n개가 들어온다. 면들의 총합을 출력하면 되는 문제이다. 문제 풀이 각 다면체의 이름들의 첫 글자가 다르므로, 첫 글자만 비교하여 계산할 수 있다. 소스 코드 #include using namespace std; int n; char input[100]; int main(){ scanf("%d", &n); int ans=0; for(int i=0;ipriority priority) { NodePair splitted = split(root, node->key); node->setLeft(splitted.first); node->setRight(splitted.second); return node; } else if (root..