Update CMakeLists.txt
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <algorithm>
|
||||
|
||||
using namespace std;
|
||||
|
||||
constexpr size_t MAX_M = 201, MAX_N = 1001;
|
||||
|
||||
vector<string> nums;
|
||||
vector<bool> used;
|
||||
map<size_t, int, greater<>> num_sizes;
|
||||
|
||||
string dp[MAX_M][MAX_N];
|
||||
|
||||
template <typename T>
|
||||
void log_vector(const vector<T>& vec, const string& prefix = "") {
|
||||
clog << prefix << endl;
|
||||
for (const T& item : vec) {
|
||||
clog << item << " ";
|
||||
}
|
||||
clog << endl;
|
||||
}
|
||||
|
||||
|
||||
void output_from_used() {
|
||||
for (int i = 0; i < nums.size(); i++) {
|
||||
if (used[i]) { cout << nums[i]; }
|
||||
}
|
||||
cout << endl;
|
||||
}
|
||||
|
||||
int main() {
|
||||
ios::sync_with_stdio(false);
|
||||
cin.tie(nullptr);
|
||||
|
||||
int nums_amount, target_size;
|
||||
cin >> target_size >> nums_amount;
|
||||
nums.resize(nums_amount), used.resize(nums_amount);
|
||||
for (int i = 0; i < nums_amount; i++) {
|
||||
cin >> nums[i];
|
||||
}
|
||||
sort(nums.begin(), nums.end(), [](const string& a, const string& b) {
|
||||
return a + b > b + a;
|
||||
});
|
||||
for (const string& num : nums) {
|
||||
num_sizes[num.size()]++;
|
||||
}
|
||||
log_vector(nums, "nums: ");
|
||||
// while (!can_form_combination(target_size, target_size)) {
|
||||
// target_size--;
|
||||
// }
|
||||
clog << "target_size: " << target_size << endl;
|
||||
calc_used(target_size, target_size);
|
||||
log_vector(used, "used: ");
|
||||
output_from_used();
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user