๋ฐฑ์ค 2869๋ฒ python ํ์ด
๋ฌํฝ์ด ๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ ๋ ๋งํ๋ฒ๋ ธ๋ค
์ฒ์์ ์๊ฐํ ๋ฐฉ๋ฒ์
V๋ฏธํฐ๋ฅผ A๋ฏธํฐ๋ก ๋๋ ๋ชซ์ ๊ฐ๊ฐ A์ B์ ๊ณฑํด์ ๋นผ๊ณ ๋ํ๋ ๋ฐฉ์์ด์๋๋ฐ
ํ ์คํธ ์ผ์ด์ค๋ฅผ ํด๋ณด๊ณ time ํจ์๋ก ์๊ฐ๋ ์ฌ๋ดค์ง๋ง ๊ฒฐ๊ตญ ์๊ฐ์ด๊ณผ๋ก ์คํจ...
<์ด๊ธฐ์ฝ๋>
import sys, time
a, b, v = map(int, sys.stdin.readline().split())
start = time.time()
count = 1
r = 0
while True:
#print("v: " + str(v) + ", c: " + str(count) + ", r: " + str(r))
if v <= a:
print(count)
break
else:
r = v // a
count += r
v = v - (a * r) + (b * r)
#print("v: " + str(v) + ", c: " + str(count) + ", r: " + str(r))
print("time: ", time.time() - start)
๋ฐ๋ก๋ฅผ ์ฐพ๊ธฐ ์ด๋ ค์๋๋ฐ ๊ณ ์๋ถ์ ๋์์ผ๋ก ๋ฐ๋ก๋ฅผ ์ฐพ์๋ค
input: 100000000 99999999 1000000000
print: 900000001
time: ์ฝ 400์ด๊ฐ๋
์ฐ์ ์์ ์ฝ๋๋ ๊ฒฐ๊ณผ๋ ์ ์์ด์ง๋ง
๋ฐ๋ณต๋ฌธ์ ๋๋ฆด๋ A์ B์ V๊ฐ ๋ชจ๋ ํฌ๋ฉด์ A์ B ๊ฐ์ ํฌ๊ธฐ ์ฐจ์ด๊ฐ ๊ทผ์ํ ๋ ์๊ฐ์ด๊ณผ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค
๋ฐ๋ก๋ฅผ ์์๋ก ๋ค๋ฉด A์ B๊ฐ์ ์ฐจ์ด๋ 1์ด๊ธฐ ๋๋ฌธ์ ์์ฒญ ์ค๋ ๋ฐ๋ณต๋ฌธ์ ๋๊ฒ๋๋ค...
์ค์ ๋ก ์นด์ดํธ ํด๋ณธ๊ฒฐ๊ณผ 282896825๋ฒ์ ๋ฐ๋ณตํ๋ค...
๊ทธ๋์โโ ๋ฐ๋ณต๋ฌธ์ ์ต์๋ก ๋๋ฆด ์ ์๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๋ค๊ฐ.. ํฌ๊ธฐํ๋ค...
์ด๋ด๋ ๊ณ ์๋ถ๋ค์ ์๋ฃจ์ ์ ๋ด์ผํ๊ธฐ์ ์์นญ์ ํ๋๋ฐ
์๋!! ์ด๋ ๊ฒ ๊ฐ๋จํ ์ค์ด์ผ...๐ญ
๊ฒฐ๋ก ์ ์ผ๋ก ์ฐธ๊ณ ํด์ ๋ง๋ ์ฝ๋๋ ์๋์ ๊ฐ๋ค
<์ต์ข ์ฝ๋>
import sys
a, b, v = map(int, sys.stdin.readline().split())
r = (v-b) // (a-b)
if (v-b) % (a-b) == 0:
print(r)
else:
print(r + 1)
์๊ฐํด๋ณด๋ฉด
V ≤ ์ผ์ *A - ์ผ์*B๊ฐ ์ฑ๋ฆฝํ๊ธฐ ๋๋ฌธ์ ํด๋น ์์ ์ ์ฉํ๋ ๊ฒ ๊ฐ๋ค
์์ ์์์ ์ ๋ถ๋ชจ์ -B๋ฅผ ํด์ฃผ๋์ง ์ดํด๊ฐ ์๋ผ์ ์ฐพ์๋ดค๋๋ฐ
์ด๋ฏธ ์ ์์ ์ค๋ฅธ ๊ฒฝ์ฐ์ ๋ค์ ๋ฏธ๋๋ฌ์ง์ง ์๋ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํด์ ๋ฏธ๋ฆฌ b๋งํผ์ ๋นผ์ฃผ๊ธฐ ์ํด์ ๋ผ๋ ๋ป์ผ๋ก ์ดํดํ๋ค