비트마스크를 사용한 것이 잘못됐기 때문입니다.
1<<n 을 사용하셨는데.. 의미상으론 2^100 = 약 1.26765 * 10^30 가지의 경우를 모두 확인해본다는 의미이기 때문에 초당 10^10번의 연산을 할수있다고 해도 약 10^15년이 걸리기 때문에 느립니다.
뿐만아니라 1<<100을 사용하면 32bit를 넘어가버리기 때문에 1<<n 결과값은 그냥 0이 되버립니다.
2798번 - 블랙잭
그렇네요... 시간복잡도를 고려를 안했네요... 감사합니다.
UB 가 Undefined Behavior 말씀하시는 건가요?
왜 1<< 100 이 UB인가요?
댓글을 작성하려면 로그인해야 합니다.
wjddydgns99 4년 전
게시판 거의 다 확인하면서, 반례를 찾아보았는데 발견하지 못했습니다.
계산해보니 자료형에 걸리진 않는데 혹시나? 해서 long long 으로 바꾼 코드입니다.