暴力枚举 WA 66 求助
查看原帖
暴力枚举 WA 66 求助
726139
残阳如血楼主2024/8/21 21:18
#include <bits/stdc++.h>
const double eps = 1e-3;

int n, cnt, a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};

int main() {
  std::cin >> n;
  do {
    for (int i = 0; i < 9; ++i) {
      for (int j = i + 1; j < 8; ++j) {
        int h = 0, s = 0, q = 0;
        for (int p = 0; p <= i; ++p)
          h = h * 10 + a[p];
        for (int p = i + 1; p <= j; ++p)
          s = s * 10 + a[p];
        for (int p = j + 1; p < 9; ++p)
          q = q * 10  + a[p];
        if (fabs(h + 1.0 * s / q - n) < eps) ++cnt;
      }
    }
  } while (std::next_permutation(a, a + 9));
  std::cout << cnt << std::endl;
  return 0;
}
2024/8/21 21:18
加载中...