求助
  • 板块灌水区
  • 楼主pengbonan
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/7 11:40
  • 上次更新2024/10/7 14:08:03
查看原帖
求助
1005693
pengbonan楼主2024/10/7 11:40
#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

2024/10/7 11:40
加载中...