aboutsummaryrefslogtreecommitdiff
path: root/works/solutions/acwing/1209.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'works/solutions/acwing/1209.cpp')
-rw-r--r--works/solutions/acwing/1209.cpp48
1 files changed, 0 insertions, 48 deletions
diff --git a/works/solutions/acwing/1209.cpp b/works/solutions/acwing/1209.cpp
deleted file mode 100644
index 3f3ff7a..0000000
--- a/works/solutions/acwing/1209.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-#include <array>
-#include <iostream>
-#include <vector>
-
-int number;
-int count = 0;
-std::array<bool, 10> used{false};
-std::array<int, 9> current;
-
-int calc(int start, int end) {
- int n = 0;
- for (int i = start; i < end; i++) {
- n *= 10;
- n += current[i];
- }
- return n;
-}
-
-void dfs(int n) {
- if (n == 9) {
- for (int i = 1; i <= 7; i++)
- for (int j = i + 1; j <= 8; j++) {
- int a = calc(0, i);
- int b = calc(i, j);
- int c = calc(j, 9);
- if ((number - a) * b == c) {
- count++;
- }
- }
- return;
- }
-
- for (int i = 1; i <= 9; i++) {
- if (!used[i]) {
- used[i] = true;
- current[n] = i;
- dfs(n + 1);
- used[i] = false;
- }
- }
-}
-
-int main() {
- std::cin >> number;
- dfs(0);
- std::cout << count;
- return 0;
-}