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

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

#include <stdio.h>
#include <iostream>
using namespace std;
int num;
int arr[15], st[15];

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

}


}

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