2019. 10. 15. 20:38, 알고리즘/BOJ
https://www.acmicpc.net/problem/15896
아주 오랫동안 헤매다가 풀이를 보고 해결했습니다. &+의 경우에는 각 자리를 따로 보면 되니까 쉬운데 +&를 어떻게 해야할지 좀 많이 어려웠습니다.
결론적으로 +&에서도 각 자리를 따로 보는데, 해당 자리가 1이기 위해서는 모든 +의 결과가 1이어야 한다는 것을 알 수 있습니다. 예를 들어 5번째 자리가 1인지 확인하려면 0xxxx + 0xxxx, 0xxxx + 1xxxx, 1xxxx + 0xxxx, 1xxxx + 1xxxx 의 결과에서 5번째 자리가 1인지를 보면 되는데 모든 xxxx를 다 볼 필요가 없이 가장 큰 것과 가장 작은 것만 보면 됨을 알 수 있습니다.
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 1933번: 스카이라인 (1) | 2019.12.03 |
---|---|
[BOJ] 10167번: 금광 (0) | 2019.12.02 |
[BOJ] 15293번: Knapsack Cryptosystem (0) | 2019.10.21 |
[BOJ] 17513번: Hilbert's Hotel (0) | 2019.10.15 |
[BOJ] 10464번: XOR (0) | 2019.09.12 |
[BOJ] 16685번: XOR 포커 (0) | 2019.09.12 |
Comments