2018. 3. 11. 18:24, 알고리즘/BOJ
https://www.acmicpc.net/problem/1034
각 행에 대해, 그 행의 전구를 켜려면 그 행에서 꺼져있는 열을 전부 눌러야합니다. 잘 생각해보면 결국 초기 상태가 다른 행 i, j는 절대 동시에 켜져있는 행이 될 수 없습니다. 그렇기 때문에 K번 눌러 켜져있게 만들 수 있는 행들에 대해, 초기 상태가 가장 많이 동일한 것의 갯수를 반환하면 됩니다.
특정 행이 K번 눌러 켜져있게 만들 수 있는지 판단하는 방법은
i) 그 행에 있는 0의 갯수와 K가 2로 나눈 나머지가 동일한가?
ii) 그 행에 있는 0의 갯수가 K 이하인가?
이 두가지를 살펴보면 됩니다.
Bitmask를 이용해 상태를 long long 변수 하나에 저장했습니다.
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 1287번: 할 수 있다 (0) | 2018.03.13 |
---|---|
[BOJ] 1081번: 합 (0) | 2018.03.12 |
[BOJ] 1124번: 언더프라임 (0) | 2018.03.12 |
[BOJ] 1033번: 칵테일 (0) | 2018.03.11 |
[BOJ] 6236번: 용돈 관리 (0) | 2018.03.07 |
[BOJ] 15515번: Tap Titanz at Moloco (0) | 2018.03.05 |
Comments