#include #include #include using namespace std; int main() { int n; cin >> n; priority_queue, greater> que; // 小さい順に取り出す優先度付きキューを用意 for (int i = 1; i <= 9; i++) { for (int j = i + 1; j <= 9; j++) { int x = i * 10 + j; que.push(x); // 初期値として 10a+b を優先度付きキューに追加 for (int k = 0; k < n; k++) { x = x * 10 + j; // 10X+b を計算していく que.push(x); } } } for (int i = 0; i < n - 1; i++) { que.pop(); // n-1個分のうしっぽい数を破棄 } cout << que.top() << endl; // n番目に小さいうしっぽい数を出力 return 0; }