λ¬Έμ
μ½λ
#include <iostream>
#include <vector>
#include <algorithm>
#define ll long long
using namespace std;
int N;
string num = "0123456789";
vector<ll> asc;
void backtracking(int idx, string temp){
if(!temp.empty()){
string _temp = temp;
reverse(_temp.begin(),_temp.end());
asc.push_back(stoll(_temp));
}
for(int i=idx+1; i<10; i++){
temp += num[i];
backtracking(i, temp);
temp.pop_back();
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cin>>N;
for(int i=0; i<10; i++){
string temp = "";
backtracking(i,temp+=num[i]);
}
sort(asc.begin(), asc.end());
if(N>asc.size()) cout<<-1;
else cout<<asc[N-1];
}
νμ΄
μ νμ μΈ λ°±νΈλνΉ λ¬Έμ μμ΅λλ€.
μ€μ΄λλ λͺ¨λ μλ₯Ό λ°°μ΄μ μ μ₯ν΄λκ³ λ§μ§λ§μ ν΄λΉ μλ²μ ν΄λΉνλ μλ₯Ό μΆλ ₯νλ λ°©μμΌλ‘ ν΄κ²°νμ΅λλ€.
μ€μ΄λλ λ°©μμΌλ‘ νμλ λ³΄κΈ°κ° λΆνΈν΄ μ¦κ°νλ μμ΄λ‘ λ§λ€μ΄κ°λ©΄μ λ°°μ΄μ λ£μ λλ reverse μμΌμ μ΅μ’ μ μΌλ‘ μ€μ΄λλ μλ€μ λ£μμ΅λλ€.
'Algorithm π§π»βπ» > λ°±μ€(BOJ)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€,c++] 2580λ² - μ€λμΏ (0) | 2022.08.21 |
---|---|
[λ°±μ€,c++] 2661λ² - μ’μμμ΄ (0) | 2022.08.21 |
[λ°±μ€,c++] 18430λ² - 무기 곡ν (0) | 2022.08.21 |
[λ°±μ€,c++] 14712λ² - λ΄λͺ¨λ΄λͺ¨ (Easy) (0) | 2022.08.20 |
[λ°±μ€,c++] 16987λ² - κ³λμΌλ‘ κ³λμΉκΈ° (0) | 2022.08.20 |
[λ°±μ€,c++] 10971λ² - μΈνμ μν2 (0) | 2022.08.20 |
λκΈ