diff options
Diffstat (limited to '024compare.cc')
-rw-r--r-- | 024compare.cc | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/024compare.cc b/024compare.cc index 92d87e5c..c9d73170 100644 --- a/024compare.cc +++ b/024compare.cc @@ -9,13 +9,23 @@ case EQUAL: { vector<long long int>& exemplar = ingredients.at(0); bool result = true; for (index_t i = 1; i < ingredients.size(); ++i) { - if (!equal(ingredients.at(i).begin(), ingredients.at(i).end(), exemplar.begin())) { +//? cerr << ingredients.at(i).at(0) << " <=> " << exemplar.at(0) << '\n'; //? 1 +//? cerr << value(ingredients.at(i).at(0)) << " <=> " << value(exemplar.at(0)) << '\n'; //? 1 + if (ingredients.at(i).size() != exemplar.size()) { result = false; break; } +//? if (!equal(ingredients.at(i).begin(), ingredients.at(i).end(), exemplar.begin())) + for (index_t j = 0; j < exemplar.size(); ++j) { + if (value(ingredients.at(i).at(j)) != value(exemplar.at(j))) { + result = false; + goto finish; + } + } } + finish: products.resize(1); - products.at(0).push_back(result); + products.at(0).push_back(result); // boolean must be a positive integer break; } @@ -70,12 +80,12 @@ case GREATER_THAN: { assert(ingredients.at(i).size() == 1); // scalar } for (index_t i = /**/1; i < ingredients.size(); ++i) { - if (ingredients.at(i-1).at(0) <= ingredients.at(i).at(0)) { + if (value(ingredients.at(i-1).at(0)) <= value(ingredients.at(i).at(0))) { result = false; } } products.resize(1); - products.at(0).push_back(result); + products.at(0).push_back(result); // boolean must be a positive integer break; } @@ -130,12 +140,12 @@ case LESSER_THAN: { assert(ingredients.at(i).size() == 1); // scalar } for (index_t i = /**/1; i < ingredients.size(); ++i) { - if (ingredients.at(i-1).at(0) >= ingredients.at(i).at(0)) { + if (value(ingredients.at(i-1).at(0)) >= value(ingredients.at(i).at(0))) { result = false; } } products.resize(1); - products.at(0).push_back(result); + products.at(0).push_back(result); // boolean must be a positive integer break; } @@ -190,12 +200,12 @@ case GREATER_OR_EQUAL: { assert(ingredients.at(i).size() == 1); // scalar } for (index_t i = /**/1; i < ingredients.size(); ++i) { - if (ingredients.at(i-1).at(0) < ingredients.at(i).at(0)) { + if (value(ingredients.at(i-1).at(0)) < value(ingredients.at(i).at(0))) { result = false; } } products.resize(1); - products.at(0).push_back(result); + products.at(0).push_back(result); // boolean must be a positive integer break; } @@ -264,12 +274,12 @@ case LESSER_OR_EQUAL: { assert(ingredients.at(i).size() == 1); // scalar } for (index_t i = /**/1; i < ingredients.size(); ++i) { - if (ingredients.at(i-1).at(0) > ingredients.at(i).at(0)) { + if (value(ingredients.at(i-1).at(0)) > value(ingredients.at(i).at(0))) { result = false; } } products.resize(1); - products.at(0).push_back(result); + products.at(0).push_back(result); // boolean must be a positive integer break; } |