蓝桥杯-凑算式

来源:互联网 发布:开淘宝店需要什么资料 编辑:程序博客网 时间:2024/05/16 11:32

凑算式
(如果显示有问题,可以参见【图1.jpg】)
这里写图片描述

这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。

比如:
6+8/3+952/714 就是一种解法,
5+3/1+972/486 是另一种解法。

这个算式一共有多少种解法?

注意:你提交应该是个整数,不要填写任何多余的内容或说明性文字。

分析:dfs暴力法,简单题。

Source:

#include<cstdio>using namespace std;int count=0;int ans[9];bool vis[10];bool judge(int ans[]){    int a=ans[0];    int b=ans[1];    int c=ans[2];    int d=100*ans[3]+10*ans[4]+ans[5];    int e=100*ans[6]+10*ans[7]+ans[8];    if(a*c*e+b*e+c*d==10*c*e)        return true;    else        return false;}void dfs(int cur){    if(cur==9)    {        if(judge(ans))        {            count++;        }        return;    }    else    {        for(int i=1;i<=9;i++)        {            if(!vis[i])            {                vis[i]=true;                ans[cur]=i;                dfs(cur+1);                vis[i]=false;            }        }    }}int main(){    dfs(0);    printf("%d\n",count);    return 0;}
0 0
原创粉丝点击