您的位置:首页 > 其它

蓝桥-算法-万能搜索

2017-02-03 10:40 260 查看
“`

package com.jkxy.MagicSearch;

public class EqualSearch {

public static int total=0;

public static int[] a=new int[9];

public static int[] flag={0,0,0,0,0,0,0,0,0};

public static void main(String[] args) {

dfs(0);

System.out.println(total/2);

}

public static void dfs(int step){

int i;

if(step==9){

if(a[0]*100+a[1]*10+a[2]+a[3]*100+a[4]*10+a[5]==a[6]*100+a[7]*10+a[8]){

total++;

for(i=0;i<9;i++){

System.out.print(a[i]);

}

System.out.println(“/”);

}

return;

}

for(i=1;i<10;i++){

if(flag[i-1]==0){

a[step]=i;

flag[i-1]=1;

dfs(step+1);

flag[i-1]=0;

}

}

return;

}

}

/*当下如何做,下一步如何做。

*首先main:调用搜索函数(从第一盒子开始出发),坐等搜索函数跑完传过来的total,输出

*然后写dfs(),判断边界完?完则输出数组。未完则循环尝试,判断i是否可用,可用则放进step中,

*继续下一步,把i收回来。

*/

void dfs(int step){

判断边界

尝试可能for(i=1;i<=n;i++){

放i;

继续下一步 dfs(step+1);

把i收回来;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 搜索