1일1알

백준 23351번 물 주기 C++ 본문

알고리즘

백준 23351번 물 주기 C++

영춘권의달인 2022. 11. 4. 11:25

https://www.acmicpc.net/problem/23351

 

23351번: 물 주기

첫째 줄에 자연수 $N$, $K$, $A$, $B$가 공백을 사이에 두고 주어진다. ($2 \le N \le 100$, $1 \le K \le 100$, $1 \le A \times B < N$, $A$는 $N$의 약수)

www.acmicpc.net

 

시뮬레이션

 

#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <list>
#include <unordered_map>
#include <unordered_set>
#include <iomanip>
#include <limits.h>

using namespace std;
using int64 = long long;

int n, k, a, b;

vector<int> v;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    
    cin >> n >> k >> a >> b;
    v = vector<int>(n, k);

    int day = 0;
    int idx = 0;
    while (true) {
        day++;
        for (int i = 0; i < a; i++) {
            v[idx] += b;
            idx = (idx + 1) % n;
        }
        bool end = false;
        for (int i = 0; i < n; i++) {
            v[i]--;
            if (v[i] <= 0) {
                end = true;
                break;
            }
        }
        if (end) break;
    }
    cout << day;
}

'알고리즘' 카테고리의 다른 글

백준 11060번 점프 점프 C++  (0) 2022.11.07
백준 20311번 화학 실험 C++  (0) 2022.11.05
백준 1245번 농장 관리 C++  (0) 2022.11.03
백준 17178번 줄서기 C++  (0) 2022.11.02
백준 13905번 세부 C++  (0) 2022.10.31