-
[๋ฐฑ์ค] 18291 ๋น์๋จ์ ์ง๊ฒ๋ค๋ฆฌ ๊ฑด๋๊ธฐ with PythonPS 2022. 5. 20. 20:25728x90๋ฐ์ํ
๐ BOJ 18291 ๋น์๋จ์ ์ง๊ฒ๋ค๋ฆฌ ๊ฑด๋๊ธฐ
๐ก ์กฐ๊ฑด
- ์ง๊ฒ๋ค๋ฆฌ๋ ๋น์๋จ๊ฐ ์๋ ๋ฐฉํฅ์์๋ถํฐ ๋ฐ๋ ๋ฐฉํฅ๊น์ง ์ฐจ๋ก๋ก 1๋ฒ, 2๋ฒ, ..., N๋ฒ์ ๋ฒํธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- ๋น์๋จ๋ 1๋ฒ ์ง๊ฒ๋ค๋ฆฌ ์์ ์ฌ๋ผ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ ๋ ๊ฐ์ง ๊ท์น์ ์งํค๋ฉฐ ์ง๊ฒ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๊ณ ํ๋ค.
- 1 โค X โค N ์ธ ์์์ ์ ์ X์ ๋ํด, ํ์ฌ ์๋ ์ง๊ฒ๋ค๋ฆฌ์ ๋ฒํธ๋ฅผ i๋ฒ์ด๋ผ๊ณ ํ ๋ i+X๋ฒ ์ง๊ฒ๋ค๋ฆฌ๋ก ๋ธ ์ ์๋ค.
- N๋ฒ์งธ ์ง๊ฒ๋ค๋ฆฌ๋ฅผ ์ง๋์ณ์ ์ ๋๊ณ , ์ ํํ ๋์ฐฉํด์ผ ํ๋ค
- ์ฒซ ๋ฒ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ์ T๊ฐ ์ฃผ์ด์ง๋ค. (1 โค T โค 1000)
- ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ง๊ฒ๋ค๋ฆฌ์ ๊ฐ์๋ฅผ ์๋ฏธํ๋ N์ด ์ฃผ์ด์ง๋ค. (1 โค N โค 109)
- ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด, ํ ์ค์ ํ๋์ฉ ๊ท์น์ ๋ง์กฑํ๋ฉด์ ์ง๊ฒ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ 109+7๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค.
- ์ํ ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin def solve(x): mod = 1000000007 a = 2 b = x ret = 1 while b: if b % 2 == 1: ret *= a ret %= mod a *= a a %= mod b //= 2 return ret for _ in range(int(stdin.readline())): test_data = int(stdin.readline()) if 0 < test_data < 2: print(1) else: x = test_data - 2 print(solve(x))
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
1 4
์คํ๊ฒฐ๊ณผ
4
โจ๏ธ ๋ฌธ์ ํ์ด
- ๋ถํ ์ ๋ณต์ ํตํ ๊ฑฐ๋ญ์ ๊ณฑ ๋ฌธ์ ์ด๋ค. ์ฌ๊ท๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
- pow ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ๋ค.
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 2637 ์ฅ๋๊ฐ ์กฐ๋ฆฝ with Python (3) 2022.06.01 [๋ฐฑ์ค] 2342 Dance Dance Revolution with Python (0) 2022.05.20 [๋ฐฑ์ค] 17204 ์ฃฝ์์ ๊ฒ์ with Python (0) 2022.05.19 [๋ฐฑ์ค] 22252 ์ ๋ณด ์์ธ ํธ์ with Python (0) 2022.05.18 [๋ฐฑ์ค] 20444 ์์ข ์ด์ ๊ฐ์ with Python (0) 2022.05.18