๐ฉ๐ปProgramming/Coding Test
[C#] [BOJ#2751] ๋ฌํฝ์ด๋ ์ฌ๋ผ๊ฐ๊ณ ์ถ๋ค
taesooya
2022. 8. 13. 16:50
https://www.acmicpc.net/problem/2869
2869๋ฒ: ๋ฌํฝ์ด๋ ์ฌ๋ผ๊ฐ๊ณ ์ถ๋ค
์ฒซ์งธ ์ค์ ์ธ ์ ์ A, B, V๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด์ ์ฃผ์ด์ง๋ค. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
www.acmicpc.net
My Solution
- ๋ง์ง๋ง์ผ๋ก ์ฌ๋ผ๊ฐ ํ์๋ ๋ด๋ ค๊ฐ ์ผ์ด ์๋ค...
- ๋ฌํฝ์ด๋ ํ๋ฃจ์ a๋ฏธํฐ๋ฅผ ์ฌ๋ผ๊ฐ๊ณ , b๋ฏธํฐ๋ฅผ ๋ฏธ๋๋ฌ์ง๋, ํ๋ฃจ์ ์ด a - b๋ฏธํฐ๋ฅผ ์ฌ๋ผ๊ฐ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. ์ด ์ฌ์ ์ด ๋๋๋ ๋ ์๋ b๋ฏธํฐ ๋ฏธ๋๋ฌ์ง๋ ๋ถ๋ถ์ด ์๋ ๊ฒ์ด๋, ๊ฒฐ๊ณผ์ ์ผ๋ก v - b๋ฏธํฐ๋ฅผ ์ฌ๋ผ๊ฐ๋ ๊ฒ์ด ๋ชฉํ์ ๋๋ค. ๊ทธ๋ ๋ค๋ฉด a - b๋ฏธํฐ์ฉ ์ญ์ญ ์ฌ๋ผ๊ฐ์ v - b๋ฏธํฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๊ฑฐ๋ฆฌ๊ฐ ๋จ์ ๋ ์ ์ฌ๋ผ๊ฐ๋ฉด ๋์ด ๋ฉ๋๋ค. ๋ง์ผ (v - b)๊ฐ ์ ํํ (a - b)๋ก ๋๋์ด๋จ์ด์ง์ง ์๋๋ค๋ฉด, ๋ชซ์ 1์ ๋ํ ๊ฐ์ด ์ ๋ต์ด ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ (v - b)๊ฐ ์ ํํ (a - b)๋ก ๋๋์ด๋จ์ด์ง๋ค๋ฉด ํ๋ฃจ๋ฅผ ๋ ๊ณ์ฐํ ํ์๊ฐ ์์ด์ง๋๋ค. ์ด๋ฅผ ๊ฐ์ํด์ ์ฒ์๋ถํฐ v - b์ 1์ ๋ ๋นผ๊ณ ๋๋ ๋ค์, ๋ฌด์กฐ๊ฑด 1์ ๋ํ๋ ๊ฒ์ผ๋ก ์ ๋ต์ ๊ตฌํ ์ ์์ต๋๋ค.
- ์ํ,,, ์ํ์ด ๋ฌธ์ ๋ค
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int[] nums = Array.ConvertAll<string, int>(Console.ReadLine().Split(), int.Parse);
int go = nums[0];
int back = nums[1];
int goal = nums[2] - nums[0];
Console.WriteLine((goal % (go - back) == 0) ? 1+ (goal / (go - back)) : 2 + goal / (go - back));
}
}
}