郑州做网站哪里好,深圳哪些设计公司做网站比较出名,封丘县建设银行网站,网站做好了该怎么做题目描述 如下图所示#xff1a;
在七角星的14个节点上填入1~14 的数字#xff0c;不重复#xff0c;不遗漏。要求每条直线上的四个数字之和必须相等。 图中已经给出了3个数字。请计算其它位置要填充的数字#xff0c;答案唯一。 填好后#xff0c;请提交绿色节点的4个数…题目描述 如下图所示
在七角星的14个节点上填入1~14 的数字不重复不遗漏。要求每条直线上的四个数字之和必须相等。 图中已经给出了3个数字。请计算其它位置要填充的数字答案唯一。 填好后请提交绿色节点的4个数字从左到右用空格分开 比如12 5 4 8 当然这不是正确的答案。 输出 输出四个整数表示答案数字之间用一个空格分隔
解题思路: 不要枚举1-14的全排列枚举剩下11位就行了
代码如下:
#include iostream
#include algorithm
using namespace std;int a[] {1, 2, 3, 4, 5, 7, 8, 9, 10, 12, 13};
int ans;bool check() {int num1 a[0] a[1] a[2] a[3];//不要判断成立//一个一个判断不成立这样写可以减少代码量int num2 6 a[1] a[4] 14;if (num1 ! num2)return false;int num3 6 a[2] a[5] 11;if (num2 ! num3)return false;int num4 a[3] a[5] a[7] a[10];if (num3 ! num4)return false;int num5 a[8] a[9] a[7] 11;if (num4 ! num5)return false;int num6 a[6] a[10] a[8] 14;if (num5 ! num6)return false;int num7 a[0] a[4] a[6] a[9];if (num6 ! num7)return false;return true;
}int main() {do {if (check()) {for (int i 0; i 4; i) {cout a[i] ;}}} while (next_permutation(a, a 11));}