출처 : https://www.acmicpc.net/problem/10775 풀이 방법처음에는 그리디한 방법으로 자신이 연결 가능한 가장 큰 게이트부터 차례대로 1씩 줄이며 가능한 곳에 연결하는 방법을 생각했지만, 이는 계산해 보니 시간초과가 난다.그러므로 다른 방법이 있어야 하는데 도저히 생각하지 못했다. 다른 사람의 풀이를 보니 유니온파인드를 사용해서 풀이하고 있었다.자신의 부모와 자신의 부모 -1한 값을 유니온 하는 방식으로 풀이하면 된다. 그러다 자신의 부모가 0이 되는 값이 발생하면 종료를 해주면 된다. #include using namespace std;int g, p;int gate[100001];int parents[100001];int find(int a) { if (a == paren..