λ¬Έμ
μ½λ
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int max_v = -1, min_v = 1e9+1;
void backtraking(string s, int cnt){
for(char c : s){
if((c-'0')&1) cnt++; // νμ κ°―μ μΉ΄μ΄ν
}
if(s.length() == 1){
max_v = max(max_v , cnt);
min_v = min(min_v, cnt);
return;
}
if(s.length() == 2){
backtraking(to_string(s.front()- '0' + s.back() - '0'), cnt); // μκ° λ μ리μ΄λ©΄ 2κ°λ‘ λλ μ ν©μ ꡬνμ¬ μλ‘μ΄ μλ‘ μκ°νλ€.
}
if(s.length()>=3){
for(int i=1; i<s.length(); i++){
for(int k= i+1; k<s.length(); k++){
string a = s.substr(0, i);
string b = s.substr(i, k-i);
string c = s.substr(i + k - i, s.length() - k);
if(a == "") a = "0";
if(b == "") b = "0";
if(c == "") c = "0";
backtraking(to_string(stoi(a) + stoi(b) + stoi(c)), cnt);
}
}
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
string s; cin>>s;
backtraking(s, 0);
cout<<min_v<<' ' << max_v;
}
νμ΄
λ¬Έμ μ νμ΄ μ‘°κ±΄ μ€ λ€μ 쑰건μ μ²λ¦¬νκΈ°κ° κΉλ€λ‘μ μ΅λλ€.
μκ° μΈ μ리 μ΄μμ΄λ©΄ μμμ μμΉμμ λμ΄μ 3κ°μ μλ‘ λΆν νκ³ , 3κ°λ₯Ό λν κ°μ μλ‘μ΄ μλ‘ μκ°νλ€.
μμμ μμΉμμ λμ΄μ 3κ°μ μλ‘ λΆν ν΄μΌ νλλ°, ν΄λΉ λ°©λ²μ λ€μ λ‘μ§κ³Ό κ°μ΅λλ€.
for(int i=1; i<s.length(); i++){
for(int k= i+1; k<s.length(); k++){
string a = s.substr(0, i);
string b = s.substr(i, k-i);
string c = s.substr(i + k - i, s.length() - k);
if(a == "") a = "0";
if(b == "") b = "0";
if(c == "") c = "0";
backtraking(to_string(stoi(a) + stoi(b) + stoi(c)), cnt);
}
}
μ μ‘°κ±΄λ§ κ΅¬ννλ€λ©΄ ν¬κ² λ¬Έμ μλ λ¬Έμ μμ΅λλ€.
'Algorithm π§π»βπ» > λ°±μ€(BOJ)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€,c++] 16719λ² - ZOAC (0) | 2022.09.16 |
---|---|
[λ°±μ€,c++] 17276λ² - λ°°μ΄ λ리기 (0) | 2022.09.15 |
[λ°±μ€,c++] 20436λ² - ZOAC 3 (0) | 2022.09.15 |
[λ°±μ€,c++] 20546λ² - κΈ°μ μ λ§€λ§€λ² (0) | 2022.09.15 |
[λ°±μ€,c++] 2615λ² - μ€λͺ© (0) | 2022.09.15 |
[λ°±μ€,c++] 2002λ² - μΆμ (0) | 2022.09.15 |
λκΈ