国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

藍橋杯之六角填數

2019-11-09 21:16:16
字體:
來源:轉載
供稿:網友

標題:六角填數 如圖【1.png】所示六角形中,填入1~12的數字。 使得每條直線上的數字之和都相同。 圖中,已經替你填好了3個數字,請你計算星號位置所代表的數字是多少? 這里的可以先求出相等的數是多少,(1+2+3+……+12)*2/6 算到等于26; 然后用 回溯法 或者 暴力搜索法就可以了 回溯法

#include<iostream>#include<cstring>#include<algorithm>using namespace std;int check(int num[],int n){ if(num[n] == 8||num[n] == 3) { return 0; } for(int i = 0; i < n; i++) { if(num[i] == num[n]) { return 0; } } switch(n) { case 2: return 8+num[0]+num[1]+num[2]==26; case 5: return 1+num[0]+num[3]+num[5]==26; case 6: return 8+3+num[3]+num[6]==26; case 7: return 3+num[2]+num[4]+num[7]==26; case 8: return 1+num[1]+num[4]+num[8]==26&&num[5]+num[6]+num[7]+num[8]==26; default:return 1; } return 1;} int main(){ int num[10]; for(int i = 0; i < 10; i++) { num[i] = 1; } int k = 0; while(k>=0) { num[k]++; while(num[k]<=12&&!check(num,k)) { num[k]++; } if(num[k]<=12&&k<9) { if(num[0] == 1) { getchar(); } if(k==8) { cout << num[3] << ends; } else { k++; } } else { num[k] = 1; k--; } } return 0;}

暴力搜索之全排列法

#include<iostream>#include<algorithm>using namespace std;//全排列 int main1(){ int num[9] = {2,4,5,6,7,9,10,11,12}; do { if(8+3+num[3]+num[6]==26&&8+num[0]+num[1]+num[2]==26&&1+num[0]+num[3]+num[5]==26&&1+num[1]+num[4]+num[8]==26&&3+num[2]+num[4]+num[7]==26&&num[5]+num[6]+num[7]+num[8]==26) { cout << num[3]<<ends; } } while(next_permutation(num,num+9)); return 0;}

大家覺得不錯的話就關注一下我吧!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岑溪市| 襄汾县| 鹿邑县| 兖州市| 台江县| 东乌珠穆沁旗| 新绛县| 安新县| 务川| 衡阳县| 东乌珠穆沁旗| 吉安县| 镇坪县| 南投县| 舟山市| 黔东| 巴南区| 涪陵区| 永吉县| 花莲市| 兴安县| 锦州市| 哈巴河县| 宜君县| 类乌齐县| 湘潭市| 龙山县| 汶川县| 玛沁县| 鄂伦春自治旗| 甘泉县| 泸西县| 屏东县| 大洼县| 托克逊县| 库尔勒市| 保定市| 崇明县| 平南县| 枣庄市| 平南县|