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

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

static int[] ans;
    static int[] visited;

    static int count;

    public static void main(String[] args) throws IOException {
        ans = new int[10];
        visited = new int[10];
        dfs(1);
        System.out.println(count);
    }

    public static void dfs(int index) {
        if (index == ans.length) {
            if ((double)ans[1] + (double) ans[2] / ans[3] + (double) (ans[4] * 100 + ans[5] * 10 + ans[6]) / (ans[7] * 100 + ans[8] * 10 + ans[9]) == 10.0) {
                count ++;
            }
        }else {
            for (int i = 1; i < 10; i++) {
                if (visited[i] == 0) {
                    visited[i] = 1;
                    ans[index] = i;
                    dfs(index + 1);
                    visited[i] = 0;
                }
            }
        }
    }
0 回复 0 转发 0 喜欢 6 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!