BOJ 29410 Дома
문제 내용
개의 도로에 각각 개의 집이 있습니다. 각각의 집의 번지수를 이진수로 나타내는 표지판을 새로 만들려고 하는데, 0을 그리는 데는 루블, 1을 그리는 데는 루블이 듭니다.
각각의 집의 번지수가 주어질 때 모든 집의 표지판을 만드는 데 드는 비용의 총합을 출력하시오.
입력
첫 줄에는 도로의 개수 과 , 의 값이 순서대로 주어집니다. (, )
다음 줄에 걸쳐, 각 줄에는 먼저 번째 도로에 있는 집의 수 가 주어지고, 그 다음 그 도로의 개의 집의 번지수 가 주어집니다. (, )
출력
모든 집의 표지판을 만드는 데 드는 비용의 합을 한 줄에 출력합니다.
문제 풀이
스포일러
입력 형식에 주의하여 들을 모두 입력받고, 이들을 이진수로 바꾼 다음 0의 개수와 1의 개수를 세고, 0의 개수에 , 1의 개수에 를 곱하여 둘을 더한 값을 출력하면 됩니다.파이썬을 사용할 경우 bin
의 결과에서 맨 앞의 0b
를 빼지 않으면 0의 개수가 실제보다 하나 더 더해진다는 점에 주의합니다.