※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 16769번 문제인 Mixing Milk 이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/16769
16769번: Mixing Milk
The first line of the input file contains two space-separated integers: the capacity $c_1$ of the first bucket, and the amount of milk $m_1$ in the first bucket. Both $c_1$ and $m_1$ are positive and at most 1 billion, with $c_1 \geq m_1$. The second and t
www.acmicpc.net
문제에서 주어진 대로, 우유를 100번 섞어주는 것으로 문제를 해결할 수 있다.
전체를 부었을 때 우유가 넘치는지로 조건문을 잘 세우고, 현재 우유를 섞는 시행 순서의 3으로 나눈 나머지가 0인지 1인지 2인지를 이용하는 것으로 반복문을 세워보자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int b1, m1, b2, m2, b3, m3; cin >> b1 >> m1 >> b2 >> m2 >> b3 >> m3;
int X = 100;
for (int i = 0; i < 100; i++) {
if (i % 3 == 0) {
if (m1 + m2 > b2) {
m1 -= b2 - m2;
m2 = b2;
}
else {
m2 = m1 + m2;
m1 = 0;
}
}
else if (i % 3 == 1) {
if (m2 + m3 > b3) {
m2 -= b3 - m3;
m3 = b3;
}
else {
m3 = m2 + m3;
m2 = 0;
}
}
else {
if (m3 + m1 > b1) {
m3 -= b1 - m1;
m1 = b1;
}
else {
m1 = m3 + m1;
m3 = 0;
}
}
}
cout << m1 << '\n' << m2 << '\n' << m3;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 3066 // C++] 브리징 시그널 (0) | 2021.07.01 |
---|---|
[BOJ 1264 // C++] 모음의 개수 (0) | 2021.07.01 |
[BOJ 2638 // C++] 치즈 (0) | 2021.06.30 |
[BOJ 17144 // C++] 미세먼지 안녕! (0) | 2021.06.29 |
[BOJ 6064 // C++] 카잉 달력 (0) | 2021.06.28 |