π [λ°±μ€μκ³ λ¦¬μ¦ νμ΄] Q.1476 λ μ§ κ³μ° λ¬Έμ νμ΄ -java
π λ¬Έμ
https://www.acmicpc.net/problem/1476
μ€κ·κ° μ¬λ λλΌλ μ°λ¦¬κ° μ¬μ©νλ μ°λμ λ€λ₯Έ λ°©μμ μ΄μ©νλ€. μ€κ·κ° μ¬λ λλΌμμλ μ 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μ΄ μ£Όμ΄μ§λ€. λ¬Έμ μ λμμλ λ²μλ₯Ό μ§ν€λ μ λ ₯λ§ μ£Όμ΄μ§λ€.
μΆλ ₯
첫째 μ€μ E S MμΌλ‘ νμλλ κ°μ₯ λΉ λ₯Έ μ°λλ₯Ό μΆλ ₯νλ€. 1 1 1μ νμ 1μ΄κΈ° λλ¬Έμ, μ λ΅μ΄ μμκ° λμ€λ κ²½μ°λ μλ€.
π μ κ·Όλ²
boj Q.1476 λ μ§ κ³μ° λ¬Έμ μ λλ€.
λ¬Έμ μ μ£Όμ΄μ§ μ‘°κ±΄λ§ μ κ³ λ €νλ©΄ μ½κ² νμ΄κ° κ°λ₯ν©λλ€.
1λ μ΄ μ¦κ°ν λλ§λ€ E(earth) S(sun) M(moon)λ 1μ© μ¦κ°νλλ°
Eμ λ²μλ μ΅λ 15κΉμ§ Sμ λ²μλ μ΅λ 28κΉμ§ Mμ λ²μλ μ΅λ 19κΉμ§μ λλ€.
μ΄ λ²μλ₯Ό λ²μ΄λλ©΄ λͺ¨λ 1λ‘ λμκ°κ² λ©λλ€.
μ΄λ₯Ό μ΄μ©ν΄
brute force λ°©λ²μΌλ‘ νμ΄κ° κ°λ₯ν©λλ€.
1 1 1 λΆν° μ°¨λ‘λλ‘ 1λ μ© μ¦κ°μν€λ©°
earth, sun ,moon κ°μ νμΈνμ¬
λ¬Έμ μμ μ£Όμ΄μ§ E S M κ³Ό κ°μμ§λ©΄ λ¬Έμ μμ μꡬνλ κ°μ₯ λΉ λ₯Έ μ°λκ° λ©λλ€.
π» μ½λ
public class Main_1476 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int e,s,m;
int year = 0;
String[] split = br.readLine().split(" ");
e = Integer.parseInt(split[0]);
s = Integer.parseInt(split[1]);
m = Integer.parseInt(split[2]);
int earth = 0;
int sun = 0;
int moon = 0;
while (earth != e || sun != s || moon != m){
year++;
if(++earth > 15){
earth = 1;
}
if(++sun > 28){
sun = 1;
}
if(++moon > 19){
moon = 1;
}
}
bw.write(String.valueOf(year));
br.close();
bw.flush();
bw.close();
}
}