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

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

藍橋搜索題

2019-11-10 16:45:55
字體:
來源:轉載
供稿:網友

搭積木 小明最近喜歡搭數字積木,

一共有10塊積木,每個積木上有一個數字,0~9。

搭積木規則:

每個積木放到其它兩個積木的上面,并且一定比下面的兩個積木數字小。

最后搭成4層的金字塔形,必須用完所有的積木。

下面是兩種合格的搭法:

0 1 2 3 4 5 6 7 8 9

0 3 1 7 5 2 9 8 6 4 請你計算這樣的搭法一共有多少種?

請填表示總數目的數字。 注意:你提交的應該是一個整數,不要填寫任何多余的內容或說明性文字。

答案 (5分)

#include<stdio.h>#include<stdlib.h>int visited[10]={0}; //查看該元素是否被訪問int a[10] = {0,1,2,3,4,5,6,7,8,9};int sum = 0; //定義全局變量sum來進行對符合條件的組合計數int test(int n){ //對不適合的進行剪枝 if(n == 2){ if(a[0]<a[1]&&a[0]<a[2]){ return 1; } return 0; } else if(n == 5){ if(a[1]<a[3]&&a[1]<a[4]&&a[2]<a[4]&&a[2]<a[5]){ return 1; } return 0; } else if(n == 9){ if(a[3]<a[6]&&a[3]<a[7]&&a[4]<a[7]&&a[4]<a[8]&&a[5]<a[8]&&a[5]<a[9]){ sum++; return 1; } return 0; } else return 1;}void dfs(int n){ int i; for(i=0;i<10;i++){ if(!visited[i]){ visited[i]=1; a[n]=i; //除了以下三行判斷是否滿足搭積木的規則 //,其余就是標準的dfs(); if(!test(n)){ visited[i]=0; continue; } dfs(n+1); visited[i]=0; } }}int main(){ dfs(0); 寒假作業

現在小學的數學題目也不是那么好玩的。

看看這個寒假作業:

□ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ (如果顯示不出來,可以參見【圖1.jpg】)

每個方塊代表1~13中的某一個數字,但不能重復。

比如:

6 + 7 = 13 9 - 8 = 1 3 * 4 = 12 10 / 2 = 5 以及:

7 + 6 = 13 9 - 8 = 1 3 * 4 = 12 10 / 2 = 5 就算兩種解法。(加法,乘法交換律后算不同的方案)

你一共找到了多少種方案?

請填寫表示方案數目的整數。

注意:你提交的應該是一個整數,不要填寫任何多余的內容或說明性文字。

答案 (8分)

#include<iostream> //包含memset(數組名,0/-1(只能是將數組中所有元素初始化這兩個數),sizeof(數組名)) //算法頭文件,其中包含許多好用的庫函數using namespace std;int a[120],book[20]={0},sum=0; //book數組是用來標記1-13哪個數已經被用過了,用過則記為1,否則記為0;void dfs(int x){ if(x>3&&a[1]+a[2]!=a[3]) //如果前三個數已經被取出來但不符合題設條件,則返回重找 return; if(x>6&&a[4]-a[5]!=a[6]) //若前三個數滿足第一條,看4-6個數是否滿足第二個條件 return; if(x>9&&a[7]*a[8]!=a[9]) //同上 return; if(x>12&&a[12]*a[11]==a[10]) //如果所有條件均滿足,則讓sum++ { sum++; return; } for(int i=1;i<14;i++) //將1-13放入每一個格子中 { if(book[i]==0) //若該數字沒被用過則可以用,進入下一步 { a[x]=i; book[i]=1; dfs(x+1); book[i]=0; } } return;}int main(){ dfs(1); cout<<sum; return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 买车| 北海市| 东源县| 柳林县| 兰坪| 巴南区| 长顺县| 宜君县| 抚宁县| 陵水| 长兴县| 介休市| 丹寨县| 阿勒泰市| 彝良县| 突泉县| 泸定县| 永城市| 永修县| 金寨县| 七台河市| 确山县| 佛坪县| 乡城县| 金沙县| 天台县| 连城县| 临高县| 湘潭县| 滦南县| 搜索| 清水河县| 梓潼县| 登封市| 金乡县| 崇仁县| 南木林县| 千阳县| 衡东县| 历史| 麟游县|