Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

BOJ 29410 Дома

문제 내용

개의 도로에 각각 개의 집이 있습니다. 각각의 집의 번지수를 이진수로 나타내는 표지판을 새로 만들려고 하는데, 0을 그리는 데는 루블, 1을 그리는 데는 루블이 듭니다.

각각의 집의 번지수가 주어질 때 모든 집의 표지판을 만드는 데 드는 비용의 총합을 출력하시오.

입력

첫 줄에는 도로의 개수 , 의 값이 순서대로 주어집니다. (, )

다음 줄에 걸쳐, 각 줄에는 먼저 번째 도로에 있는 집의 수 가 주어지고, 그 다음 그 도로의 개의 집의 번지수 가 주어집니다. (, )

출력

모든 집의 표지판을 만드는 데 드는 비용의 합을 한 줄에 출력합니다.

문제 풀이

스포일러 입력 형식에 주의하여 들을 모두 입력받고, 이들을 이진수로 바꾼 다음 0의 개수와 1의 개수를 세고, 0의 개수에 , 1의 개수에 를 곱하여 둘을 더한 값을 출력하면 됩니다.

파이썬을 사용할 경우 bin의 결과에서 맨 앞의 0b를 빼지 않으면 0의 개수가 실제보다 하나 더 더해진다는 점에 주의합니다.