返回题解分享
讨论 / 题解分享/ 帖子详情

凑算式(结果填空) - 题解

#include <bits/stdc++.h>
using namespace std;
int ans, n ;
int a[20];
bool b[20];

void dfs(int n) {
if (n == 10) {
int x = a[4] 100 + a[5] 10 + a[6];
int y = a[7] 100 + a[8] 10 + a[9];
if (a[1]a[3]y + a[2]y + x a[3] == 10 a[3]y) {
ans++;
return;
}
}
for (int i = 1; i < 10; i++) {
if (b[i] == 1)
continue;
a[n] = i;
b[i] = 1;
dfs(n + 1);
b[i] = 0;

}

}

int main() {
dfs(1);
cout << ans;
return 0;
}
0 回复 0 转发 0 喜欢 4 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!