2018. 6. 5. 19:28, 알고리즘/BOJ
https://www.acmicpc.net/problem/15226
주어진 h0에 대해, h층을 만들 때 사용한 카드의 수가 4의 배수가 되게끔 하는 h >= h0의 최솟값을 구하는 문제입니다.
h층을 만들 때 사용하는 카드의 수는 3(h*(h+1)/2)-h 이고 이래저래 연산을 해보다보면 8로 나눈 나머지가 0이거나 5일 때 사용한 카드의 수가 4의 배수임을 알 수 있습니다. python으로 마음 편하게 구해도 되고, C로 풀고싶으면 string으로 입력받아 끝 3글자만 가지고 연산을 해주면 됩니다.(그러나 이 경우 9999999999999999...9가 들어왔을 때 덧셈을 해줘야하는 번거로움이 있습니다.)
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 6198번: Bad Hair Day (2) | 2018.06.13 |
---|---|
[BOJ] 3038번: JOGURT (4) | 2018.06.13 |
[BOJ] 11387번: 님 무기가 좀 나쁘시네여 (0) | 2018.06.05 |
[BOJ] 11378번: 열혈강호 4 (0) | 2018.06.05 |
[BOJ] 11377번: 열혈강호 3 (0) | 2018.06.05 |
[BOJ] 11376번: 열혈강호 2 (0) | 2018.06.05 |
Comments