diff options
author | crupest <crupest@outlook.com> | 2021-02-22 23:20:05 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-02-22 23:20:05 +0800 |
commit | ee1f224286e1a815bd5d990cb7ddbd79895c413e (patch) | |
tree | a2736872d9aae99dd11129eb81fb529a3f0f875b /works | |
parent | 1478c6b582e194a330e1f1f76e2b6c423be5e29d (diff) | |
download | crupest-ee1f224286e1a815bd5d990cb7ddbd79895c413e.tar.gz crupest-ee1f224286e1a815bd5d990cb7ddbd79895c413e.tar.bz2 crupest-ee1f224286e1a815bd5d990cb7ddbd79895c413e.zip |
import(solutions): Fix an error in source code.
Diffstat (limited to 'works')
-rw-r--r-- | works/solutions/cpp/401.cpp | 35 |
1 files changed, 12 insertions, 23 deletions
diff --git a/works/solutions/cpp/401.cpp b/works/solutions/cpp/401.cpp index 2618872..71147f4 100644 --- a/works/solutions/cpp/401.cpp +++ b/works/solutions/cpp/401.cpp @@ -1,46 +1,37 @@ +#include <array>
#include <string>
#include <vector>
using std::string;
using std::vector;
-#include <array>
-#include <cstdio>
-
const std::array<int, 4> hour_digits{1, 2, 4, 8};
const std::array<int, 6> minute_digits{1, 2, 4, 8, 16, 32};
-class Solution
-{
+class Solution {
public:
template <int max, std::size_t size>
- void dfs(const std::array<int, size> &digits, int total_count,
- int rest_count, int start_index, int value,
- std::vector<int> &result)
- {
+ void dfs(const std::array<int, size> &digits, int total_count, int rest_count,
+ int start_index, int value, std::vector<int> &result) {
if (value >= max)
return;
- if (rest_count == 0)
- {
+ if (rest_count == 0) {
result.push_back(value);
return;
}
- for (int i = start_index; i <= size - rest_count; i++)
- {
- dfs(digits, max, total_count, rest_count - 1, i + 1,
- value + digits[i], result);
+ for (int i = start_index; i <= size - rest_count; i++) {
+ dfs<max, size>(digits, total_count, rest_count - 1, i + 1,
+ value + digits[i], result);
}
}
- vector<string> readBinaryWatch(int num)
- {
+ vector<string> readBinaryWatch(int num) {
vector<string> results;
- for (int i = (num > 6 ? num - 6 : 0); i <= (num > 4 ? 4 : num); i++)
- {
+ for (int i = (num > 6 ? num - 6 : 0); i <= (num > 4 ? 4 : num); i++) {
std::vector<int> hours;
std::vector<int> minutes;
if (i == 0)
@@ -52,10 +43,8 @@ public: else
dfs<60>(minute_digits, num - i, num - i, 0, 0, minutes);
- for (auto hour : hours)
- {
- for (auto minute : minutes)
- {
+ for (auto hour : hours) {
+ for (auto minute : minutes) {
char buffer[6];
sprintf(buffer, "%d:%02d", hour, minute);
results.push_back(string(buffer));
|