작성일 :

문제 링크

6779번 - Who Has Seen The Wind

설명

문제의 설명으로 주어진 공식을 활용하여 특정 시간 동안의 고도를 계산한 후,

처음으로 땅에 닿는 시간을 계산하는 문제입니다.



Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
namespace Solution {
  class Program {
    static void Main(string[] args) {

      var h = int.Parse(Console.ReadLine()!);
      var m = int.Parse(Console.ReadLine()!);

      for (int t = 1; t <= m; t++) {
        double a = -6 * Math.Pow(t, 4) + h * Math.Pow(t, 3) + 2 * Math.Pow(t, 2) + t;

        if (a <= 0) {
          Console.WriteLine($"The balloon first touches ground at hour: {t}");
          return ;
        }
      }
      Console.WriteLine("The balloon does not touch ground in the given time.");

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int h, m; cin >> h >> m;

  for (int t = 1; t <= m; t++) {
    double a = -6 * pow(t, 4) + h * pow(t, 3) + 2 * pow(t, 2) + t;

    if (a <= 0) {
      cout << "The balloon first touches ground at hour: " << t << "\n";
      return 0;
    }
  }

  cout << "The balloon does not touch ground in the given time.\n";

  return 0;
}