2015年蓝桥杯初赛b组试题

合集下载

(完整)蓝桥杯大赛青少年创意编程Scratch初级组模拟题

(完整)蓝桥杯大赛青少年创意编程Scratch初级组模拟题

.一、单选题(每题 20 分)1 、 (难度系数 1)在舞台添加小猫角色,它的所有设置均为默认设置。

舞台布局和程序运行结果如下图所示。

舞台布局程序运行结果运行以下哪段程序后,可以得到以上结果。

( )A BC D 以上程序都不对2、(难度系数 2) 小猫看到远处好久不见的朋友,于是跳起来说“你好!”想引起朋友的注意,执行以下程序后,小猫说“你好!”一共几秒?( )A 0B 2 C4 D 8.3 、 (难度系数 3)当角色执行完这段程序后,舞台可能出现的图形是?( )A、正三角形B、正四边形C、正六边形D、正八边形4 、 (难度系数 4)执行完这段程序后,变量 b 的值可能是?( )A 、11B 、65C 、130D 、60655、(难度系数 5) 小红想做一个月亮围绕地球旋转的动画,如图,舞台有两个角色:“地球“月球”,并写如下程序,小红希望运行程序后,月球以地球为”中心做圆周运动。

( )A 、 B、B 、 D、1、难度系数 2,满分 50 分准备工作:导入背景库中的“bedroom2”,并导入角色库中的“Abby”“Candy”角色。

编程实现:Abby 打扫完房间,房间停电了, Abby 点上了一根蜡烛。

想象停电后,点上蜡烛的效果。

图1.“关灯以前”图2.“关灯后”1、程序开始运行时,显示如图1.“关灯以前”2 、2 秒以后,背景变暗,屏幕左边的墙上出现比小猫自身还要大的影子,如图2.“关灯后”。

3、之后一直保持图 2 效果4、蜡烛、 Abby 、影子之间和大小应大致正确。

将程序保存在桌面,命名为“ 1.sb2”评判标准:10 分:程序运行后,按图 1 的效果显示并保持至少 2 秒钟;30 分:在 10 分的基础上,能按图 2 的要求背景变暗,出现 Abby 阴影;50 分:在 30 分的基础上,背景中的圣诞树仍可见,蜡烛、 Abby、影子之间的位置关系基本正确, Abby 和影子的大小关系符号逻辑。

2015蓝桥杯java大学B组决赛真题

2015蓝桥杯java大学B组决赛真题
int p3 = r==null? p2 : r.getRootPos(p2+sv.length());
buf[y][p2] = '|';
for(int i=p1; i<=p3; i++)buf[y+1][i]='-';
for(int i=0; i<sv.length(); i++) ________________________________; //填空位置
【输入格式】
输入的第一行包含两个整数,分别表示机房两个方向的长度。
【输出格式】
输出一个整数,表示可行的方案数。这个数可能很大,请输出这个数除以65521的余数。
【样例输入1】
4 4
【样例输出1】
2
【样例说明1】
这两种方案如下【图2.png】所示:
【样例输入2】
2 6
【样例输出2】
4
【数据规模与约定】
4、
标题:穿越雷区
X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。
某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短?
已知的地图是一个方阵,上面用字母标出了A,B区,其它区都标了正号或负号分别表示正负能量辐射区。
输入保证不会出现循环依赖的情况即不会出现两个格子输出格式输出一个表格共个保留两位小数的实数
1、
标题:分机号
X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位。比如:
751,520,321都满足要求,而,
766,918,201就不符合要求。

蓝桥杯小学试题及答案

蓝桥杯小学试题及答案

蓝桥杯小学试题及答案一、选择题(每题2分,共10分)1. 下列哪个选项是蓝桥杯的官方标志?A. 蓝色桥梁B. 蓝桥杯C. 蓝桥牌D. 蓝桥奖2. 蓝桥杯小学组的参赛年龄限制是多少岁?A. 6-12岁B. 8-14岁C. 10-16岁D. 12-18岁3. 蓝桥杯小学组的比赛项目包括哪些?A. 编程B. 数学C. 英语D. 所有以上选项4. 蓝桥杯的初赛通常在什么时间举行?A. 春季B. 夏季C. 秋季D. 冬季5. 蓝桥杯的决赛通常在哪个城市举行?A. 北京B. 上海C. 广州D. 深圳二、填空题(每题2分,共10分)1. 蓝桥杯小学组的编程比赛主要使用______语言。

2. 蓝桥杯小学组的数学比赛主要考察学生的______能力和______能力。

3. 蓝桥杯小学组的英语比赛包括______、______和______三个部分。

4. 蓝桥杯的初赛成绩优异者将获得晋级______的资格。

5. 蓝桥杯的决赛成绩优异者将有机会获得______的荣誉。

三、简答题(每题5分,共20分)1. 请简述蓝桥杯小学组编程比赛的目的和意义。

2. 蓝桥杯小学组数学比赛的题型有哪些?3. 蓝桥杯小学组英语比赛的评分标准是什么?4. 参加蓝桥杯小学组比赛对学生有哪些好处?四、编程题(每题10分,共20分)1. 编写一个程序,计算并输出1到100之间所有偶数的和。

2. 编写一个程序,判断一个给定的年份是否为闰年,并输出结果。

五、数学应用题(每题10分,共20分)1. 小明有10个苹果,他分给小华3个,然后又分给小李4个,最后自己还剩下多少个苹果?2. 一个长方形的长是10厘米,宽是5厘米,求这个长方形的面积和周长。

六、英语阅读理解题(每题5分,共20分)阅读以下短文,并回答后面的问题。

(短文内容略)1. 短文中提到的主要人物是谁?2. 主要人物做了什么?3. 短文中描述了哪些地点?4. 短文中的主要事件是什么?七、英语写作题(10分)请根据以下提示,写一篇不少于50字的英语短文。

蓝桥杯例题

蓝桥杯例题

1.蓝桥杯全国软件和信息技术专业人才大赛是由哪个部门主办的?A.教育部(答案)B.科技部C.工业和信息化部D.国家发展和改革委员会2.蓝桥杯大赛主要考察参赛者的哪些能力?A.编程和算法设计能力(答案)B.市场营销能力C.团队协作能力D.演讲能力3.蓝桥杯大赛通常分为哪些组别进行比赛?A.大学A组、大学B组和大学C组(答案)B.初级组、中级组和高级组C.青少年组、成人组和大师组D.企业组、学校组和个人组4.在蓝桥杯大赛中,以下哪种编程语言是常用的?A.C/C++(答案)B.Python(虽然Python也常被使用,但在此处作为非唯一或首选答案)C.Java(Java也是常用语言,但同样非首选答案)D.JavaScript5.蓝桥杯大赛的获奖者通常可以获得哪些奖励?A.奖金、证书和学校加分(答案)B.实物奖品、旅游机会和荣誉称号C.股票、期权和就业机会D.学术期刊发表机会6.蓝桥杯大赛的参赛资格通常要求参赛者是什么身份?A.在校大学生(答案)B.企业员工C.专业程序员D.无特定身份要求7.在蓝桥杯大赛中,以下哪个环节不是必须的?A.提交代码并运行通过测试((答案,此选项描述了一个通常情况,但并非所有题目都需提交并运行代码,而是根据题目要求可能只需提交答案或解题思路)B.理解题目要求C.设计算法或解决方案D.在规定时间内完成题目8.蓝桥杯大赛的题目难度通常是如何分布的?A.从易到难,逐步增加(答案)B.所有题目难度相同C.难度随机分布D.先难后易9.参加蓝桥杯大赛对参赛者未来的职业发展有哪些帮助?A.提升编程技能和算法设计能力,增加就业竞争力(答案)B.直接获得高薪工作机会C.获得学术研究成果D.无需进一步学习即可成为专家10.蓝桥杯大赛的举办周期是多久?A.每年一届(答案)B.每两年一届C.每季度一届D.每月一届。

第六届蓝桥杯JavaB组——第3题三羊献瑞(递归全排列)

第六届蓝桥杯JavaB组——第3题三羊献瑞(递归全排列)

第六届蓝桥杯JavaB组——第3题三⽺献瑞(递归全排列)注意点:数字的开头不能为0即可Java代码1package nqiaosix.p3;23/**4 * @Author LZP5 * @Date 2021/3/7 13:296 * @Version 1.07 *8三⽺献瑞910观察下⾯的加法算式:1112祥瑞⽣辉13+ 三⽺献瑞14-------------------15三⽺⽣瑞⽓1617(如果有对齐问题,可以参看【图1.jpg】)1819其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。

2021请你填写“三⽺献瑞”所代表的4位数字(答案唯⼀),不要填写任何多余内容。

222324int xiang; -----025int rui; -----126int sheng; -----227int hui; -----328int san; -----429int yang; -----530int xian; -----631int qi; -----732*/33public class Main {34private static int[] arr = new int[8];35private static int[] dp = new int[10];36public static void main(String[] args) {37 f(0);38 }3940public static void f(int index) {41if (index == 8) {4243if (arr[0] == 0 || arr[4] == 0) {44return;45 }4647// 祥瑞⽣辉48int a1 = arr[0] * 1000 + arr[1] * 100 + arr[2] * 10 + arr[3];4950// 三⽺献瑞51int a2 = arr[4] * 1000 + arr[5] * 100 + arr[6] * 10 + arr[1];5253// 三⽺⽣瑞⽓54int result = arr[4] * 10000 + arr[5] * 1000 + arr[2] * 100 + arr[1] * 10 + arr[7];5556if (result == a1 + a2) {57 System.out.println("" + arr[4] + arr[5] + arr[6] + arr[1]);58for (int i = 0; i < arr.length; i++) {59 System.out.printf("%d\t", arr[i]);60 }61 System.out.println();62 }6364return;65 }6667for (int i = 0; i < 10; i++) {68if (dp[i] == 0) {69 dp[i] = 1;70 arr[index] = i;71 f(index + 1);72 dp[i] = 0;73 }74 }75 }76 } View Code。

蓝桥杯c语言试题及答案

蓝桥杯c语言试题及答案

蓝桥杯c语言试题及答案蓝桥杯C语言试题及答案一、选择题(每题2分,共10分)1. 在C语言中,以下哪个是正确的字符常量?A. 'A'B. "A"C. 123D. 0x41答案:A2. 下面哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. _variableD. variable#name答案:C3. 以下哪个语句可以正确地声明一个整型数组?A. int array[10] = {0, 0, ...};B. int array[] = {0, 1, 2, ...};C. int array = {0, 1, 2, ...};D. int array[10] = {0};答案:D4. C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello" "World"答案:A5. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D二、填空题(每空2分,共10分)6. 在C语言中,表示逻辑与的运算符是______。

答案:&&7. 一个C语言程序的执行是从______函数开始的。

答案:main8. 在C语言中,用于定义一个结构体的关键字是______。

答案:struct9. 以下代码段的输出结果是______。

```cint a = 5, b = 10;printf("%d", b % a);```答案:010. 当一个C语言程序中包含多个文件时,通常使用______预处理指令来包含头文件。

答案:#include三、简答题(每题5分,共10分)11. 请简述C语言中指针的概念。

第11届蓝桥杯青少赛Scratch组试题(初级组)

第11届蓝桥杯青少赛Scratch组试题(初级组)

_________________ ___________________上表由裁判填写,请参赛选手及阅卷裁判签名确认上述成绩准确无误,选手_________、裁判_________ 注意事项:1.赛场内应保持安静,参赛选手间严禁互相交谈,违者将被取消比赛资格;2.比赛过程中,笔记本计算机不得开启WLAN或蓝牙等各种无线通讯功能,违者将被取消比赛资格;3.比赛过程中,应将准考证及身份证件放置桌子左上角,以备监考人员随时核对、检查;4.参赛选手的手机在检录后必须保持关闭状态直至比赛结束,违者将被取消比赛资格;5.比赛过程中,笔记本电脑须调为静音;6.请在做题之前认真阅读题目,编程题目设置有步骤分,即只完成部分功能也可以得到相应的分数;7.比赛答卷时间为90分钟;8.比赛结束后,请自行整理所有自带设备及配件,并妥善带出赛场,尤其不要遗漏电源、连线或其他零部件;9.比赛结束时裁判现场判卷结束后,本赛卷一律交给判卷裁判,比赛选手不得自行带走,否则取消比赛成绩。

一、单选题(每题20分)第一题(难度系数1)小猫迷路了,它必须沿着地面的标记才能走出迷宫。

下面哪段程序能帮助它呢?A BC D如上图所示,“气球”角色有三种造型,运行如下程序,哪种颜色气球不会出现?A BC D 都有可能会出现小巫师挥舞着手里的魔棒,当他念了下面哪段程序咒语后能让自己从舞台上消失呢?A BC D第四题(难度系数4)角色小猫在运行上图程序5秒后,舞台上能看到几只小猫?A 1B 2C 3D 4你制作了一款天气预报软件,能够根据天气情况,提示如何安排衣着。

按下空格键,天气角色会随机显示“雪花”或“太阳”的造型。

同时,衣着角色会根据天气角色的造型,变换成不同的服装。

比如当天气角色是“雪花”造型时,衣着角色就是“帽子”造型;当天气角色是“太阳”造型时,衣着角色就是“短袖”造型。

角色及其造型如下图所示。

天气角色的程序如下所示。

衣着角色的程序中,有一组是不正确的,请将其挑选出来。

第十二届蓝桥杯省赛B组

第十二届蓝桥杯省赛B组

第⼗⼆届蓝桥杯省赛B组y总讲解:A.空间#include <iostream>#include <cstring>#include <algorithm>using namespace std;int main(){cout << 256 * 1024 * 1024 / 4 << endl;return0;}//答案:67108864B.卡⽚:#include <iostream>#include <cstring>#include <algorithm>using namespace std;int s[10];bool check(int x){while (x){int t = x % 10;x /= 10;if ( -- s[t] < 0) return false;}return true;}int main(){for (int i = 0; i < 10; i ++ ) s[i] = 2021;for (int i = 1; ; i ++ )if (!check(i)){cout << i - 1 << endl;return0;}return0;}//答案:3181C.直线:#include <iostream>#include <cstring>#include <algorithm>#include <cmath>using namespace std;const int N = 200000;int n;struct Line{double k, b;bool operator< (const Line& t) const{if (k != t.k) return k < t.k;return b < t.b;}}l[N];int main(){for (int x1 = 0; x1 < 20; x1 ++ )for (int y1 = 0; y1 < 21; y1 ++ )for (int x2 = 0; x2 < 20; x2 ++ )for (int y2 = 0; y2 < 21; y2 ++ )if (x1 != x2){double k = (double)(y2 - y1) / (x2 - x1);double b = y1 - k * x1;l[n ++ ] = {k, b};}sort(l, l + n);int res = 1;for (int i = 1; i < n; i ++ )if (fabs(l[i].k - l[i - 1].k) > 1e-8 || fabs(l[i].b - l[i - 1].b) > 1e-8) res ++ ;cout << res + 20 << endl;return0;}//答案:40257D.货物摆放:#include <iostream>#include <cstring>#include <algorithm>#include <vector>using namespace std;typedef long long LL;int main(){LL n;cin >> n;vector<LL> d;for (LL i = 1; i * i <= n; i ++ )if (n % i == 0){d.push_back(i);if (n / i != i) d.push_back(n / i);}int res = 0;for (auto a: d)for (auto b: d)for (auto c: d)if (a * b * c == n)res ++ ;cout << res << endl;return0;}//答案:2430E.路径:#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 2200, M = N * 50;int n;int h[N], e[M], w[M], ne[M], idx;int q[N], dist[N];bool st[N];int gcd(int a, int b) // 欧⼏⾥得算法{return b ? gcd(b, a % b) : a;}void add(int a, int b, int c) // 添加⼀条边a->b,边权为c{e[idx] = b, w[idx] = c, ne[idx] = h[a], h[a] = idx ++ ;}void spfa() // 求1号点到n号点的最短路距离{int hh = 0, tt = 0;memset(dist, 0x3f, sizeof dist);dist[1] = 0;q[tt ++ ] = 1;st[1] = true;while (hh != tt){int t = q[hh ++ ];if (hh == N) hh = 0;st[t] = false;for (int i = h[t]; i != -1; i = ne[i]){int j = e[i];if (dist[j] > dist[t] + w[i]){dist[j] = dist[t] + w[i];if (!st[j]) // 如果队列中已存在j,则不需要将j重复插⼊ {q[tt ++ ] = j;if (tt == N) tt = 0;st[j] = true;}}}}}int main(){n = 2021;memset(h, -1, sizeof h);for (int i = 1; i <= n; i ++ )for (int j = max(1, i - 21); j <= min(n, i + 21); j ++ ){int d = gcd(i, j);add(i, j, i * j / d);}spfa();printf("%d\n", dist[n]);return0;}//答案:10266837F.时间显⽰:#include <iostream>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;int main(){LL n;cin >> n;n /= 1000;n %= 86400;int h = n / 3600;n %= 3600;int m = n / 60;int s = n % 60;printf("%02d:%02d:%02d\n", h, m, s);return0;}G.砝码称重:#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 110, M = 200010, B = M / 2;int n, m;int w[N];bool f[N][M];int main(){scanf("%d", &n);for (int i = 1; i <= n; i ++ ) scanf("%d", &w[i]), m += w[i];f[0][B] = true;for (int i = 1; i <= n; i ++ )for (int j = -m; j <= m; j ++ ){f[i][j + B] = f[i - 1][j + B];if (j - w[i] >= -m) f[i][j + B] |= f[i - 1][j - w[i] + B];if (j + w[i] <= m) f[i][j + B] |= f[i - 1][j + w[i] + B];}int res = 0;for (int j = 1; j <= m; j ++ )if (f[n][j + B])res ++ ;printf("%d\n", res);return0;}H.杨辉三⾓形:#include <iostream>#include <cstring>#include <algorithm>using namespace std;typedef long long LL;int n;LL C(int a, int b){LL res = 1;for (int i = a, j = 1; j <= b; i --, j ++ ) {res = res * i / j;if (res > n) return res;}return res;}bool check(int k){LL l = k * 2, r = max((LL)n, l);while (l < r){LL mid = l + r >> 1;if (C(mid, k) >= n) r = mid;else l = mid + 1;}if (C(r, k) != n) return false;cout << r * (r + 1) / 2 + k + 1 << endl; return true;}int main(){cin >> n;for (int k = 16; ; k -- )if (check(k))break;return0;}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一题正确答案:52488(我居然上来第一题就错了居然写了13440→_→)//cout<<8*9*9*9*9; →_→第二题结果填空5‘星系炸弹在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。

每个炸弹都可以设定多少天之后爆炸。

比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。

有一个贝塔炸弹,2014年11月9日放置,定时为1天,请你计算它爆炸的准确日期。

请填写该日期,格式为yyyy-mm-dd 即4位年份2位月份2位日期。

比如:2015-02-19 请严格按照格式书写。

不能出现其它文字或符号。

-题解:不用废话,直接手算顶多3分钟,注意2016是闰年正确答案:2017-08-05第三题结果填空9‘三羊献瑞观察下面的加法算式:第三题正确答案:1085第四题代码填空11‘格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。

要求字符串在水平、垂直两个方向上都居中。

如果字符串太长,就截断。

如果不能恰好居中,可以稍稍偏左或者偏上一点。

下面的程序实现这个逻辑,请填写划线部分缺少的代码。

对于题目中数据,应该输出:++abcd1234++(如果出现对齐问题,参看【图1.jpg】)注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。

-题解:我是一名OI党,入门直接学的是C++,结果考了个printf里面%*s的用法。

太特么冷门了,穷举了没试出来,原来后面的参数要跟两个。

分数11分怒丢正确答案:(width-strlen(s)-2)/2,"",s,(width-strlen(s)-1)/2,""备注:答案可以形式多样性,只要代入使得代码成立即可,但要注意奇偶问题所以后面一个要+1不然sample过了也是错的第五题代码填空13‘九数组分数1,2,3...9 这九个数字组成一个分数,其值恰好为1/3,如何组法?下面的程序实现了该功能,请填写划线部分缺失的代码。

注意:只填写缺少的内容,不要书写任何题面已有代码或说明性文字。

-题解:水题,回溯法的最最基本常识,全局变量回溯完成后必须更改回初值正确答案:{t=x[k]; x[k]=x[i]; x[i]=t;}备注:1.答案可以形式多样性,只要代入使得代码成立即可第六题正确答案:16第七题结果填空21‘牌型种数小明被劫持到X赌城,被迫与其他3人玩牌。

一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。

这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?请填写该整数,不要填写任何多余的内容或说明文字。

-题解:水题,一共是记号为A,2,3,4,5,6,7,8,9,10,J,Q,k的十三个元素,每个元素的情况可能是0,1,2,3,4。

这十三个元素的和为13即可。

回溯穷举再剪枝即可。

1 #include <iostream>2using namespace std;3int ans = 0, sum = 0;第七题正确答案:第八题程序设计15‘移动距离X星球居民小区的楼房全是一样的,并且按矩阵样式排列。

其楼房的编号为1,2,3...当排满一行时,从下一行相邻的楼往反方向排号。

比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 .....我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)输入为3个整数w m n,空格分开,都在1到10范围内w为排号宽度,m,n为待计算的楼号。

要求输出一个整数,表示m n 两楼间最短移动距离。

例如:用户输入:6 8 2则,程序应该输出:4再例如:用户输入:4 7 20则,程序应该输出:5资源约定:峰值内存消耗< 256MCPU消耗< 1ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。

注意: 所有依赖的函数必须明确地在源文件中#include <xxx>,不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

-题解:从分值上都能看出来是水题。

比前面两个填空题的分值都低。

最简单的做法,小学生都会的,用数论的完全剩余系,我们强行更改矩阵的编号比如题目中的强行更改为:0 1 2 3 4 511 10 9 8 7 612 13 14......这样就算起来非常方便了,要求的答案就是坐标之差#include <iostream>#include <cmath>using namespace std;int main()第八题第九题程序设计25‘垒骰子赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。

经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!我们先来规范一下骰子:1 的对面是4,2 的对面是5,3 的对面是6。

假设有m 组互斥现象,每组中的那两个数字的面紧贴在一起,骰子就不能稳定的垒起来。

atm想计算一下有多少种不同的可能的垒骰子方式。

两种垒骰子方式相同,当且仅当这两种方式中对应高度的骰子的对应数字的朝向都相同。

由于方案数可能过多,请输出模10^9 + 7 的结果。

不要小看了atm 的骰子数量哦~「输入格式」第一行两个整数n mn表示骰子数目接下来m 行,每行两个整数a b ,表示a 和b 数字不能紧贴在一起。

「输出格式」一行一个数,表示答案模10^9 + 7 的结果。

「样例输入」2 11 2「样例输出」544「数据范围」对于30% 的数据:n <= 5对于60% 的数据:n <= 100对于100% 的数据:0 < n <= 10^9, m <= 36资源约定:峰值内存消耗< 256MCPU消耗< 2ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。

考场程序,数据不够大所以要扣分,最大只能到10【AC版本】:矩阵快速幂同理我们只考虑底面的情况,最后乘上4^n即可。

我们设六阶矩阵A n,其中A n的第a行第b列表示第一层底面数字为a、第n层数字为b 的所有排列的情况记六阶矩阵X中,第a行第b列表示相邻两层的是否能成功连接的情况。

a和b能连则为1,a和b不能连则为0(注意是相邻两层的底面,不是衔接面,所以要转化,比如题给的1 2要改为1 5)根据上述定义,易得递推式:A n = A n-1X,且A1 = E(六阶单位矩阵)可得到An的表达式为A n = X n-1那么ans就是矩阵 X n-1 的36个元素之和注意最后侧面的4^n也要二分幂不然会爆炸1 #include <iostream>2 #include <cstring>矩阵快速幂第十题程序设计31‘生命之树在X森林里,上帝创建了生命之树。

他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。

上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列{a, v1, v2, ..., vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连。

在这个前提下,上帝要使得S中的点所对应的整数的和尽量大。

这个最大的和就是上帝给生命之树的评分。

经过atm的努力,他已经知道了上帝给每棵树上每个节点上的整数。

但是由于atm 不擅长计算,他不知道怎样有效的求评分。

他需要你为他写一个程序来计算一棵树的分数。

「输入格式」第一行一个整数n 表示这棵树有n 个节点。

第二行n 个整数,依次表示每个节点的评分。

接下来n-1 行,每行2 个整数u, v,表示存在一条u 到v 的边。

由于这是一棵树,所以是不存在环的。

「输出格式」输出一行一个数,表示上帝给这棵树的分数。

「样例输入」51 -2 -34 54 23 11 22 5「样例输出」8「数据范围」对于30% 的数据,n <= 10对于100% 的数据,0 < n <= 10^5, 每个节点的评分的绝对值不超过10^6 。

资源约定:峰值内存消耗< 256MCPU消耗< 3ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。

注意: 所有依赖的函数必须明确地在源文件中#include <xxx>,不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

-题解:没有系统的学过树和图,不知道什么方法,我精通的只有floyd,所以考场上只想去骗30%的数据。

n最大就是10,考场的时候我直接穷举了点集的所有子集,最多就是1024种情况,判断是否连通,连通的话算出来,可惜时间不够差了一点。

所以拿了0分【考场程序】详解:二进制法子集生成穷举给定n,用二进制法做出集合{0,1,2,...,n-1}的2n-1个非空子集,然后去判断每个子集是否是连通树的一部分,权值再求和即可。

AC版本(二叉链表)【AC版本(上一个程序的优化的静态版本)】树形dp详解:和上一个版本思路一样,但是放弃了链式的结构,直接上深搜(其实你看懂了就会发现本质并不是动态规划)。

相关文档
最新文档