πͺ [λ μ§ κ³μ° [1476λ²]
1476λ²: λ μ§ κ³μ°
μ€κ·κ° μ¬λ λλΌλ μ°λ¦¬κ° μ¬μ©νλ μ°λμ λ€λ₯Έ λ°©μμ μ΄μ©νλ€. μ€κ·κ° μ¬λ λλΌμμλ μ 3κ°λ₯Ό μ΄μ©ν΄μ μ°λλ₯Ό λνλΈλ€. κ°κ°μ μλ μ§κ΅¬, νμ, κ·Έλ¦¬κ³ λ¬μ λνλΈλ€. μ§κ΅¬λ₯Ό λν
www.acmicpc.net
π λ¬Έμ μ€λͺ
- μ€κ·κ° μ¬λ λλΌλ μ°λ¦¬κ° μ¬μ©νλ μ°λμ λ€λ₯Έ λ°©μμ μ΄μ©νλ€. μ€κ·κ° μ¬λ λλΌμμλ μ 3κ°λ₯Ό μ΄μ©ν΄μ μ°λλ₯Ό λνλΈλ€. κ°κ°μ μλ μ§κ΅¬, νμ, κ·Έλ¦¬κ³ λ¬μ λνλΈλ€.
- μ§κ΅¬λ₯Ό λνλ΄λ μλ₯Ό E, νμμ λνλ΄λ μλ₯Ό S, λ¬μ λνλ΄λ μλ₯Ό Mμ΄λΌκ³ νμ λ, μ΄ μΈ μλ μλ‘ λ€λ₯Έ λ²μλ₯Ό κ°μ§λ€. (1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19)
- μ°λ¦¬κ° μκ³ μλ 1λ μ μ€κ·κ° μ΄κ³ μλ λλΌμμλ 1 1 1λ‘ λνλΌ μ μλ€. 1λ μ΄ μ§λ λλ§λ€, μΈ μλ λͺ¨λ 1μ© μ¦κ°νλ€. λ§μ½, μ΄λ€ μκ° λ²μλ₯Ό λμ΄κ°λ κ²½μ°μλ 1μ΄ λλ€.
- μλ₯Ό λ€μ΄, 15λ μ 15 15 15λ‘ λνλΌ μ μλ€. νμ§λ§, 1λ μ΄ μ§λμ 16λ μ΄ λλ©΄ 16 16 16μ΄ μλλΌ 1 16 16μ΄ λλ€. μ΄μ λ 1 ≤ E ≤ 15 λΌμ λ²μλ₯Ό λμ΄κ°κΈ° λλ¬Έμ΄λ€.
- E, S, Mμ΄ μ£Όμ΄μ‘κ³ , 1λ μ΄ μ€κ·κ° μ¬λ λλΌμμ 1 1 1μΌλ, μ€κ·κ° μ¬λ λλΌμμ E S Mμ΄ μ°λ¦¬κ° μκ³ μλ μ°λλ‘ λͺ λ μΈμ§ ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
ππ¨ μ μΆλ ₯ λ°μ΄ν°
[μ λ ₯]
첫째 μ€μ μΈ μ E, S, Mμ΄ μ£Όμ΄μ§λ€. λ¬Έμ μ λμμλ λ²μλ₯Ό μ§ν€λ μ λ ₯λ§ μ£Όμ΄μ§λ€.4
1 16 16
[μΆλ ₯]
첫째 μ€μ E S MμΌλ‘ νμλλ κ°μ₯ λΉ λ₯Έ μ°λλ₯Ό μΆλ ₯νλ€. 1 1 1μ νμ 1μ΄κΈ° λλ¬Έμ, μ λ΅μ΄ μμκ° λμ€λ κ²½μ°λ μλ€.
16
π λ¬Έμ νμ΄
1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19μ λ²μλ‘, κ°κ° 15, 28, 19λ₯Ό μ£ΌκΈ°λ¨μλ‘ μνν¨μ μ μ μλ€.
μ¦ μ΄λ λλ¨Έμ§μ κ°λ μ μ΄μ©ν΄ λͺ¨λλ¬(%)λ₯Ό ν΅ν΄, λ€μκ³Ό κ°μ΄ μμΌλ‘ κ°λ¨ν ννμ΄ κ°λ₯νλ€.
→ μΆλ ₯κ° % μ£ΌκΈ°λ¨μ = μ λ ₯κ°
νλ λͺ¨λλ¬ μ°μ°μ κ²½μ° NμΌλ‘ λͺ¨λλ¬λ₯Ό νλ€κ³ νμμ λ, κ°μ λ²μκ° 0λΆν° N-1κΉμ§μ΄λ―λ‘ NμΌ κ²½μ°, μμΈ μ²λ¦¬κ° νμνλ€. (Ex. N=15μΌ κ²½μ°, λͺ¨λλ¬ μ°μ°μ κ²°κ³Όλ 0μ΄λ ν΄λΉ λ¬Έμ μμ eλ 15μ΄κΈ° λλ¬Έμ΄λ€.)
μ΄λ₯Ό κ³ λ €νμ¬ μμ±ν λ¬Έμ νμ΄ μ½λλ μλμ κ°λ€.
def check_e(earth, year_val) -> True:
if year_val % 15 == 0 and earth == 15:
return True
elif year_val % 15 == earth:
return True
else:
return False
def check_s(sun, year_val) -> True:
if year_val % 28 == 0 and sun == 28:
return True
elif year_val % 28 == sun:
return True
else:
return False
def check_m(moon, year_val) -> True:
if year_val % 19 == 0 and moon == 19:
return True
elif year_val % 19 == moon:
return True
else:
return False
e, s, m = map(int, input().split())
year = 1
while True:
if check_e(e, year) and check_s(s, year) and check_m(m, year):
print(year)
break
else:
year += 1
μμ μ½λλ₯Ό μ’ λ λ€λ¬μ΄ 보μ.
λ¬Έμ μμ μΈ μμΈ e, s, mμ λ²μλ 1 ≤ e ≤ 15, 1 ≤ s ≤ 28, 1 ≤ m ≤ 19μ΄λ€.
λͺ¨λλ¬ μ°μ°μ ν΅ν 15, 28, 19μ κ²°κ³Όκ° λ²μλ 0 ≤ _ ≤ 14, 0 ≤ _ ≤ 27, 0 ≤ _ ≤ 18μ΄λ€.
μ¦ μ΄λ e-1, s-1, m-1λ‘ ννμ νμ©νμ¬ 0 ≤ _ ≤ 14, 0 ≤ _ ≤ 27, 0 ≤ _ ≤ 18μ λ²μμμ μΌμΉκ° κ°λ₯νλ©°,
μ΄μ κ°μ΄ ννμ μμ λ¬λ¦¬ λ°λ‘ λ³λμ μμΈμ²λ¦¬κ° νμ μλ€. (λ¨, year μΆλ ₯μ +1 νμ)
μ΄λ₯Ό κ³ λ €ν λ¬Έμ νμ΄ μ½λλ μλμ κ°λ€.
E, S, M = 15, 28, 19 # μ£ΌκΈ° μμ
e, s, m = map(int, input().split()) # μ
λ ₯ κ°
e -= 1
s -= 1
m -= 1 # νν μΌμΉ
year = 0
while True:
if year % E == e and year % S == s and year % M == m:
print(year + 1)
break
else:
year += 1
νμ§λ§ μ μ¬νμ§λ§ λ€λ₯Έ μ½λμΈ μλμ μ½λλ₯Ό μ°Έκ³ ν΄λ³΄μ.
e,s,mμμ 1μ λΉΌμ£Όκ³ , yearμ μΆλ ₯μ 1μ λν΄μ£Όμ§ μκ³ , λλ€ μλ΅νμ¬ μ½λλ₯Ό μ§€ μ μμκΉ?
κ²°λ‘ λΆν° λ§νμλ©΄ λ΅μ ν μ μλ€μ΄λ€. μ΄μ λ μλμ κ°λ€.
μ΄μ κ°μ΄ μ§ μ½λμμ μΈ μμΈ e, s, mμ λ²μλ 1 ≤ e ≤ 15, 1 ≤ s ≤ 28, 1 ≤ m ≤ 19μ΄λ€.
νλ λͺ¨λλ¬ μ°μ°μ ν΅ν 15, 28, 19μ κ²°κ³Όκ° λ²μλ 0 ≤ _ ≤ 14, 0 ≤ _ ≤ 27, 0 ≤ _ ≤ 18μ΄λ€.
λ°λΌμ μ΄λ e=15, s=28, m=19μΈ κ²½μ°λ§ μκ°ν΄λ³΄λλΌλ "무ν 루ν"λ₯Ό λκ² λλ κ²½μ°κ° λ°μνκ² λλ€.
μ¦, μμ λ§ν μ½λμ κ²½μ°, λΉκ΅μ°μ°μμ μ’μ μ°μ λΉκ΅ λ²μκ° λ¬λΌ μ€λ₯κ° λ°μν μ μκΈ° λλ¬Έμ λΆκ°λ₯νλ€.
(μμ λ μ½λμ κ°μ΄ μμͺ½μ λΉκ΅ λ²μλ₯Ό λ§μΆ° μ£Όμ΄μΌ νλ€.)
E, S, M = 15, 28, 19 # μ£ΌκΈ° μμ
e, s, m = map(int, input().split()) # μ
λ ₯ κ°
year = 0
while True:
if year % E == e and year % S == s and year % M == m:
print(year)
break
else:
year += 1
π νμ΄/κ°λ μ 리
- λͺ¨λλ¬ (%) : λλ¨Έμ§λ₯Ό ꡬν΄μ£Όλ μ°μ°μ
'Algorithm > BOJ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [λ°±μ€] 14500. ν νΈλ‘λ―Έλ Έ (μμ± δΈ) (0) | 2022.03.02 |
|---|---|
| [λ°±μ€] 1107. 리λͺ¨μ»¨ (0) | 2022.03.01 |
| [λ°±μ€] 3085. μ¬ν κ²μ (0) | 2022.02.23 |
| [λ°±μ€] 2309. μΌκ³± λμμ΄ (0) | 2022.02.22 |
| [κΈ°μ΄] 08. κΈ°λ³Έ μν 1 (μμ± δΈ) (0) | 2022.02.22 |