D2.cpp 634 B

123456789101112131415161718192021222324252627282930313233
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int n = 10;
  4. int a[n];
  5. bool used[n];
  6. void dfs(int k) {
  7. if (k == n) {
  8. int x = a[1] * 100 + a[2] * 10 + a[3];
  9. int y = a[4] * 100 + a[5] * 10 + a[6];
  10. int z = a[7] * 100 + a[8] * 10 + a[9];
  11. if (y == 2 * x && z == 3 * x) {
  12. cout << x << y << z << endl;
  13. }
  14. return;
  15. }
  16. for (int i = 1; i < n; i++) {
  17. if (!used[i]) {
  18. used[i] = true;
  19. a[k] = i;
  20. dfs(k + 1);
  21. used[i] = false;
  22. }
  23. }
  24. }
  25. int main() {
  26. dfs(1);
  27. return 0;
  28. }