본문 바로가기

Algorithm/Implementation

(C++) - 백준(BOJ) 6779 : Who Has Seen The Wind

반응형

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

 

6779번: Who Has Seen The Wind

The input is two non-negative integers: h, the humidity factor, followed by M, the maximum number of hours Margaret will wait for the weather balloon to return to ground. You can assume 0 ≤ h ≤ 100 and 0 < M < 240.

www.acmicpc.net

📕 풀이방법

📔 입력 및 초기화

습도 h, 최대 시간 측정 M, 정답을 출력할 변수 ans를 선언 후 h,M을 입력합니다.

📔 풀이과정

주어진 함수 fomula를 수행합니다.

1. for loop를 수행하면 a(고도)가  0이하일 때 t를 반환합니다. 

2. 한번도 0이하가 되지 않았다면 0을 반환합니다.

📔 정답출력

fomula 함수의 반환값을 ans에 저장합니다. 

형식에 맞춰 정답을 출력합니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;

int fomula(int h, int M){
    for(int t = 1; t <= M; t++){
        int a = -6*pow(t,4) + h*pow(t,3) + 2 *pow(t,2) + t;
        if(a <= 0) return t;
    }
    return 0;
}

int main(){
    int h, M, ans;
    cin >> h >> M;
    ans = fomula(h,M);
    if(!ans) cout << "The balloon does not touch ground in the given time.";
    else cout << "The balloon first touches ground at hour: " << ans;
}