#include <iostream>
#include <vector>
using namespace std;
vector <int> Ans;
int T[(const int)1e5], cnT;
bool check (int x) {
while (x) {
int r = x % 10;
if (r != 1 && r != 0) {
return 0;
}
x /= 10;
}
return 1;
}
void solve (int N) {
for (int i = N; i >= 1; i --) {
if (check(i)) {
T[++ cnT] = i;
}
}
}
signed main () {
ios::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
solve(1e7);
int n;
cin >> n;
while (n) {
for (int i = 1; i <= cnT; i ++)
if (n >= T[i]) {
// cout << "n, i, T[i] = " << n << ", " << i << ", " << T[i] << '\n';
n -= T[i];
Ans.emplace_back(T[i]);
break;
}
}
cout << Ans.size() << '\n';
for (auto k : Ans)
cout << k << ' ';
return 0;
}
题
在cf上WA on 4