본문 바로가기

분류 전체보기

(43)
[KOI 2021] 중등부 1차 1번 문제 꿀따기
[KOI 2021] 1차 중등부 2번 문제 "두개의 팀" N명의 사원으로 구성되는 어느 회사의 조직도는 루트 트리(rooted tree)로 표현된다. 트리의 각 노드는 한 명의 사원을 의미하고, 간선은 직속 상사-부하의 관계를 나타낸다. 각 사원은 1부터 N까지 번호가 부여되어 있다. 사원 1은 회사의 사장이며, 트리의 루트이다. 각 사원의 실력 또한 정수로 표현되는데, 실력은 음수일 수도 있다. 아래 그림은 조직도의 한 예를 보여준다. 노드 안의 수는 사원 번호를 의미한다. 사원 중 일부를 팀장으로 선택하려 한다. 팀장으로 선발되면, 팀장은 자신을 포함하여 팀을 구성해야 하는데, 각 팀은 다음 조건을 만족해야 한다. 팀원은 팀장의 부하 직원이어야 한다. (단, 직속 부하일 필요는 없다.) 예를 들어, 사원 3이 팀장이라면, 사원 8이나 11은 팀원이 될 수 ..
[KOI 2017] 전국 고1 물통 문제풀이 KOI 전국 2017 고1 물통 참고 블로그 알고리즘 분류 : BFS, 구현, 수학 난이도 : 상당히 많이 어려움 문제 설명 : 각각 용량이 a, b인 물통 A, B가 있을때, Fill(x) // 용량 한계까지 꽉 채운다 Empty(x) // 0까지 비운다 Move (x to y) // 넘치지 않을정도로 옮긴다. 이 연산들만을 이용해서 각각 용량이 c,d가 되도록 하는 최소 연산 횟수를 구하시오 만약 세 연산을 모두 썼는데 안된다? 그러면 -1 처음 나의 접근 : Bfs를 통해서 접근하려고 했는데, check 배열을 선언하려고 보니, 100000 * 100000 을 하니 무슨 10GB용량의 bool 배열이 만들어져서 메모리 초과가 나려고 했다 분명히 check 배열의 크기를 줄이는 방법이 있을것을 알고는..