※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 4850번 문제인 Baskets of Gold Coins이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/4850
4850번: Baskets of Gold Coins
The input file will consist of one or more lines; each line will contain data for one instance of the problem. More specifically, each line will contain four positive integers, separated by one blank space. The first three integers are, respectively, the n
www.acmicpc.net
1 이상 N 미만 번호를 가진 바구니 각각에서 바구니 번호 개수의 동전을 각각 꺼낸 무게와, 이 바구니들의 동전 각각의 무게가 w였을 때의 무게를 비교해, 같다면 N번 바구니에 무게 w-d의 동전이, 아니라면 (무게의 차) / (w-d)번 바구니에 무게 (w-d)의 동전이 있다고 판단할 수 있다.
1부터 K까지의 숫자의 합은 K*(K+1)/2로 계산할 수 있다는 점을 이용하자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int N, w, d, total;
while (cin >> N >> w >> d >> total) {
int ans = (w * (N * (N - 1)) / 2 - total) / d;
if (ans) cout << ans << '\n';
else cout << N << '\n';
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 25185 // C++] 카드 뽑기 (0) | 2022.08.14 |
---|---|
[BOJ 25184 // C++] 동가수열 구하기 (0) | 2022.08.14 |
[BOJ 6132 // C++] 전화선 (0) | 2022.08.14 |
[BOJ 6494 // C++] Another lottery (0) | 2022.08.14 |
[BOJ 12725 // C++] Milkshakes (Small) (0) | 2022.08.14 |