[백준 8719] Piłeczka (C#, C++) - soo:bak
작성일 :
문제 링크
설명
공이 떨어지는 위치에서 떨어진 후, 반사되어 목표 높이까지 도달하는 데에 필요한 튕김 횟수를 계산하는 문제입니다.
목표 높이가 초기 위치보다 작거나 같은 경우, 튕겨지지 않더라도 목표 높이에 도달하게 되므로, 튕김 횟수는 0
이 됨에 주의합니다.
Code
[ C# ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
namespace Solution {
using System.Text;
class Program {
static void Main(string[] args) {
var sb = new StringBuilder();
var t = int.Parse(Console.ReadLine()!);
while (t-- > 0) {
var input = Console.ReadLine()!.Split(' ').ToArray();
var x = int.Parse(input[0]);
var w = int.Parse(input[1]);
if (w <= x) sb.AppendLine("0");
else {
int bounces = 0;
while (x < w) {
x *= 2;
bounces++;
}
sb.AppendLine(bounces.ToString());
}
}
Console.Write(sb.ToString());
}
}
}
[ C++ ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t; cin >> t;
while (t--) {
int x, w; cin >> x >> w;
if (w <= x) cout << "0\n";
else {
int bounces = 0;
while (x < w) {
x *= 2;
bounces++;
}
cout << bounces << "\n";
}
}
return 0;
}