#include <iostream>
#include <algorithm>
int main()
{
int numbers[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int tested_combination_count = 0;
int total_permutation_count = 0;
int last_blue = 0;
do
{
int green = numbers[0];
int yellow = numbers[1];
int purple = numbers[2];
int orange = numbers[3];
int red = numbers[4];
int blue = numbers[5];
++total_permutation_count;
if (last_blue == blue) {
continue;
}
last_blue = blue;
++tested_combination_count;
if (purple * 10 + green == green * yellow
&& purple * 10 + orange == red * red
&& yellow * 10 + orange == red * blue
&& red * 10 + green == green * blue) {
std::cout << green << " " << yellow << " " << purple << " "
<< orange << " " << red << " " << blue << std::endl;
}
} while (std::next_permutation(std::begin(numbers), std::end(numbers)));
std::cout << "Combination tested:" << tested_combination_count
<< " on a total of " << total_permutation_count << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKaW50IG1haW4oKQp7CiAgICBpbnQgbnVtYmVyc1sxMF0gPSB7MCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOX07CiAgICAKICAgIGludCB0ZXN0ZWRfY29tYmluYXRpb25fY291bnQgPSAwOwogICAgaW50IHRvdGFsX3Blcm11dGF0aW9uX2NvdW50ID0gMDsKICAgIGludCBsYXN0X2JsdWUgPSAwOwogICAgZG8KICAgIHsKICAgICAgICBpbnQgZ3JlZW4gPSBudW1iZXJzWzBdOwogICAgICAgIGludCB5ZWxsb3cgPSBudW1iZXJzWzFdOwogICAgICAgIGludCBwdXJwbGUgPSBudW1iZXJzWzJdOwogICAgICAgIGludCBvcmFuZ2UgPSBudW1iZXJzWzNdOwogICAgICAgIGludCByZWQgPSBudW1iZXJzWzRdOwogICAgICAgIGludCBibHVlID0gbnVtYmVyc1s1XTsKICAgICAgICAKICAgICAgICArK3RvdGFsX3Blcm11dGF0aW9uX2NvdW50OwogICAgICAgIGlmIChsYXN0X2JsdWUgPT0gYmx1ZSkgewogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgbGFzdF9ibHVlID0gYmx1ZTsKICAgICAgICArK3Rlc3RlZF9jb21iaW5hdGlvbl9jb3VudDsKICAgICAgICBpZiAocHVycGxlICogMTAgKyBncmVlbiAgPT0gZ3JlZW4gKiB5ZWxsb3cKICAgICAgICAgICAgJiYgcHVycGxlICogMTAgKyBvcmFuZ2UgPT0gcmVkICogcmVkCiAgICAgICAgICAgICYmIHllbGxvdyAqIDEwICsgb3JhbmdlID09IHJlZCAqIGJsdWUKICAgICAgICAgICAgJiYgICAgcmVkICogMTAgKyBncmVlbiAgPT0gZ3JlZW4gKiBibHVlKSB7CiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCBncmVlbiA8PCAiICIgPDwgeWVsbG93IDw8ICIgIiA8PCBwdXJwbGUgPDwgIiAiCiAgICAgICAgICAgICAgICAgICAgICA8PCBvcmFuZ2UgPDwgIiAiIDw8IHJlZCA8PCAiICIgPDwgYmx1ZSA8PCBzdGQ6OmVuZGw7CiAgICAgICAgfQogICAgfSB3aGlsZSAoc3RkOjpuZXh0X3Blcm11dGF0aW9uKHN0ZDo6YmVnaW4obnVtYmVycyksIHN0ZDo6ZW5kKG51bWJlcnMpKSk7CiAgICBzdGQ6OmNvdXQgPDwgIkNvbWJpbmF0aW9uIHRlc3RlZDoiIDw8IHRlc3RlZF9jb21iaW5hdGlvbl9jb3VudAogICAgICAgICAgICAgIDw8ICIgb24gYSB0b3RhbCBvZiAiIDw8IHRvdGFsX3Blcm11dGF0aW9uX2NvdW50IDw8IHN0ZDo6ZW5kbDsKfQ==