알고리즘 2

맥에서 <bits/stdc++.h> 사용하기

알고리즘 문제를 풀이할 때 C++을 이용해서 푸는 경우에 bits/stdc++.h 헤더를 사용하기도 한다. 이것은 gcc 컴파일러에서만 사용할 수 있는 비표준 라이브러리이다. 위 헤더 파일은 대부분의 C++ 헤더 파일이 포함되어 있어 알고리즘 문제를 풀이할 때 헤더 파일을 여러 개 불러와야 하는 수고를 줄일 수 있다. 또한 대부분의 알고리즘 저지 사이트에서 bits/stdc++.h 를 지원하기 때문에 알고리즘 풀이에서는 문제없이 사용이 가능하다. 하지만 bits/stdc++.h 헤더 파일은 gcc 컴파일러에서만 동작한다. 리눅스 PC는 기본 컴파일러가 gcc일 것이다. 없으면 gcc 설치하면 된다. 그렇게 하면 bits/stdc++.h 를 바로 사용할 수 있다. 그러나 맥 에서는 상황이 다르다. gcc ..

[백준] 1010 다리 놓기

재원이는 한 도시의 시장이 되었다. 이 도시에는 도시를 동쪽과 서쪽으로 나누는 큰 강이 흐르고 있다. 하지만 재원이는 다리가 없어서 시민들이 강을 건너는데 큰 불편을 겪고 있음을 알고 다리를 짓기로 결심하였다. 강 주변에서 다리를 짓기에 적합한 곳을 사이트라고 한다. 재원이는 강 주변을 면밀히 조사해 본 결과 강의 서쪽에는 N개의 사이트가 있고 동쪽에는 M개의 사이트가 있다는 것을 알았다. (N ≤ M) 재원이는 서쪽의 사이트와 동쪽의 사이트를 다리로 연결하려고 한다. (이때 한 사이트에는 최대 한 개의 다리만 연결될 수 있다.) 재원이는 다리를 최대한 많이 지으려고 하기 때문에 서쪽의 사이트 개수만큼 (N개) 다리를 지으려고 한다. 다리끼리는 서로 겹쳐질 수 없다고 할 때 다리를 지을 수 있는 경우의 ..