N과M 2

백준 17779. 게리맨더링 2

17779. 게리맨더링 2 주어진 조건대로 구현하면된다. 마름모로 선거구를 나타내는것이 다소 까다로웠던것 같다. 마름모를 나눌때 brute force 방식으로 나눠도 정답이 나왔다. 풀이 과정 마름모로 선거구를 나눈다. 마름모 끝점 4개를 저장해서 끝점을 활용하여 나머지 구역 4개도 구한다. 구역을 나눈것을 기존의 입력으로 받은 map과 매핑하여 각 선거구의 총 인원수를 구한다. 최대 최소의 차이를 구하고 그것이 최소인 경우를 저장한다. ※ 구역을 나눌때 5번 구역은 마름모를 이루는 변을 5로 저장해 두고 내부는 1로 저장해두었다. ※ 나머지 1~4번 구역을 정해주면 0으로 남은건 알아서 5번구역으로 처리해줄수 있을거라 생각하였기 때문이다. 소스코드 #include #include using namesp..

백준 15649. N과 M (1)

15649. N과 M (1) 자연수 N과 M이 주어졌을 때, 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열을 모두 구하는 문제이다. 최근에 역량 테스트에서는 거의 모든 문제에 N개중 M개를 고르는 것이 기본으로 들어가 있고 고른 것을 바탕으로 시뮬레이션을 하기 때문에 N개중 M개를 고르는 문제는 기본기로서 상당히 중요하다고 생각한다. 기본적이지만 선택하는 것이 꼬이면 끝까지 꼬일 수 있다고 생각한다.(개인적으로 경험이 있어서...) 풀이 과정 선택한것은 중복으로 선택하지 않기 위해 visit배열을 따로 만들었다. 선택하지 않았다면 선택후 visit를 true로 바꿔주고 go함수를 재귀 호출 하였다. count개만큼 선택했다면 저장한것들을 출력해주고 반환하였다. 반환하면서 visit도 false..