- toc {:toc}
νμ΄
κ²½μ°μ μλ₯Ό λλμ΄ λ¬Έμ λ₯Ό νμ ν΄λ³΄λ € νλ€. μΉΈμ μμμ 0,0λΆν° μμμΌλ‘ μ€μ νλ€. λμ΄νΈκ° μ€λ₯Έμͺ½μΌλ‘λ§ μμ§μΌ μ μλ€λ μ μ΄ ν΅μ¬μ΄λ―λ‘ μ΄μ μ μν΄ μ‘°κ±΄μ μ€μ νλ€.
- N >= 3
- μ λ ₯λ°μ κ²½μ° λμ΄λ ν° μν₯μ λΌμΉμ§ μλλ€.
- M >= 7 μΌ λ μ΄λ λ°©μμ μ λΆ μ¬μ©ν μ μκ³ , μ΄λ λ°©μμ μ λΆ μ¬μ©νλ©΄ μ€λ₯Έμͺ½μΌλ‘ 6μΉΈ μ΄λνκΈ° λλ¬Έμ μ μΈ(M-6)νλ€. λλ¨Έμ§ μΉΈμ κ²½μ° 2, 3λ²μΌλ‘ μ΄λν μ μκΈ° λλ¬Έμ 1 μΉΈμ© μ΄λ κ°λ₯ν΄ μ λΆ λν΄μ£Όλ©΄ λλ€.
- M β 6 μΈ κ²½μ°μλ μ΄λ λ°©μμ μ λΆ μ¬μ©ν μ μκΈ° λλ¬Έμ μ΅λ 4λ² μμ§μΌ μ μκ³ , μΉΈμ΄ μ¦κ°ν μλ‘ 1μΉΈμ© λ μ¦κ°μν¬ μ μμΌλ―λ‘ μ μ©μμΌμ€λ€.
- N == 2
- 1, 4λ²μ μ΄λ λ°©μμ μ¬μ©ν μ μλ€. λλ¬Έμ μ€λ₯Έμͺ½μΌλ‘ λ μΉΈμ© μ΄λν΄μΌ νλ€.
- N == 1
- μ΄λν μ μλ€.
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL N, M;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
LL res = 1;
cin >> N >> M;
N--; M--;
if(N >= 2){
if(3<=M && M<6) res += 3;
else if(M==2) res += 2;
else if(M==1) res += 1;
else if(M==6) res += 4;
else if(M==0) res += 0;
else {
res += 4;
res += M-6;
}
}
else if(N == 1){
if(M >= 6) res += 3;
else if(M == 5 || M == 4) res += 2;
else if(M == 2 || M == 3) res += 1;
else if(M == 0) res += 0;
}
else if(N == 0 || M == 0) res += 0;
else{
res += 4;
res += M-6;
}
cout << res << '\n';
return 0;
}μ¬μ€ ν λλ μμ²λΌ νμ΄λ₯Ό νλ μλΉν 볡μ‘νκ² μ½ν κ² κ°μλλ° μ€μ μμΆν΄λ³΄λ©΄ λ€μκ³Ό κ°λ€.
- N == 1
- μ΄λν μ μλ€.
- N == 2
- 2, 3λ²λ§ μ¬μ©ν μ μκΈ° λλ¬Έμ μ€λ₯Έμͺ½μΌλ‘ λ μΉΈμ©λ§ μ΄λν μ μλ€.
- μ΅λ 4λ² μμ§μΌ μ μλ€.
- M β 6 μΈ κ²½μ° 4λ²λ³΄λ€ μ κ² μμ§μΈλ€.
- λ μΉΈμ© μμ§μΌ μ μκΈ° λλ¬Έμ (M+1)/2λ‘ λνλΌ μ μλ€.
- min(4, (M+1)/2)
- Nμ ν¬μ§λ§ M β 6 μΈ κ²½μ°
- μ΄λ λ°©μ μ λΆλ₯Ό μ¬μ©ν μ μλ€.
- μ΅λ 4λ² μμ§μΌ μ μλ€.
- μλ‘ λ μΉΈ μ΄μ μμ§μΌ μ μκΈ° λλ¬Έμ μ€λ₯Έμͺ½μΌλ‘ μ΅λλ‘ μ΄λνλ €λ©΄ 1 μΉΈμ© μμ§μ¬μΌ μ΅λμ΄λ€.
- min(4, M) μΌλ‘ ννν μ μλ€.
- μ 쑰건μ ν΄λΉνμ§ μλ κ²½μ°
- μ 체 μ΄λ λ°©μμ μ λΆ μ¬μ©νκ³ λλ¨Έμ§λ μ€λ₯Έμͺ½μΌλ‘ ν μΉΈμ© μ΄λν΄ μ΅λλ‘ μ΄λ νμλ₯Ό μ±μ΄λ€.
- m-2λ‘ ννν μ μλ€.
#include <bits/stdc++.h>
using namespace std;
int main () {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int N, M;
cin >> n >> m;
if (n == 1) cout << 1;
else if (n == 2) cout << min(4, (m + 1) / 2);
else if (m < 7) cout << min(4, m);
else cout << m - 2;
return 0;
}