• 七星填数


    在七角星的14个节点上填入1~14 的数字,不重复,不遗漏。
    要求每条直线上的四个数字之和必须相等。

    图中已经给出了3个数字。
    请计算其它位置要填充的数字,答案唯一。

    填好后,请提交绿色节点的4个数字(从左到右,用空格分开)

    比如:12 5 4 8
    当然,这不是正确的答案。

    注意:只提交4个用空格分开的数字,不要填写任何多余的内容。

    答案:

    代码:

    #include <iostream>
    
    using namespace std;
    int ch[11] = {1,2,3,4,5,7,8,9,10,12,13};
    bool vis[11];
    int to[11][2] = {4,5,1,4,0,4,3,4,1,5,0,3,2,5,3,6,2,6,2,3,5,6};
    int ans[11];
    int sum[7] = {17,20,14,0,0,0,11};
    int n = (1 + 14) * 2;
    void dfs(int k) {
        if(k >= 11) {
            for(int i = 0;i < 4;i ++) {
                cout<<ans[i]<<' ';
            }
            return;
        }
        for(int i = 0;i < 11;i ++) {
            if(vis[i] || sum[to[k][0]] + ch[i] > n || sum[to[k][1]] + ch[i] > n) continue;
            vis[i] = true;
            sum[to[k][0]] += ch[i];
            sum[to[k][1]] += ch[i];
            ans[k] = ch[i];
            dfs(k + 1);
            sum[to[k][1]] -= ch[i];
            sum[to[k][0]] -= ch[i];
            vis[i] = false;
        }
    }
    int main() {
        dfs(0);
    }
  • 相关阅读:
    内部类,匿名内部类?
    抽象和接口的区别?
    多态的好处?
    怎么防止重复提交?
    java网络编程第二章
    java网络编程第一章
    多态的好处
    静态变量与实例变量(方法)的区别
    杨辉三角
    鸿蒙系统之内核层
  • 原文地址:https://www.cnblogs.com/8023spz/p/10742475.html
Copyright © 2020-2023  润新知