문제번호 : https://www.acmicpc.net/problem/2580


비트마스크 공부중인데 무슨뜻인지 잘 모르겠습니다.

풀이출처) 백준 cgiosy님






질문내용) 17번째줄부터 입력값이 0인애들을 for문으로 도는건 이해했는데

19 20 22 번째줄이 잘 이해가 안가요. ㅠㅠ


제 사고과정) 19번째 줄의 의미는 전체 집합에서 켜진비트를 빼는거 같은데 꺼진 비트수를 세고 갑자기 왜 a랑 비교를 하는거지?? 뭐지

22번째줄에서 갑자기 swap은 왜하는거지 ㅠㅠ