2013腾讯编程马拉松初赛(3月21)赛题

合集下载

noc·核桃编程马拉松初赛题目解析

noc·核桃编程马拉松初赛题目解析

noc·核桃编程马拉松初赛题目解析【核桃编程马拉松初赛题目解析】一、前言本文将从简到繁,由浅入深地解析核桃编程马拉松初赛题目,帮助读者更深入地理解。

初赛题目总共包含若干个题目,其中最具挑战性和深度的是关于NOC(网络运营中心)的题目。

二、NOC的定义与作用1. NOC的定义在当今互联网时代,NOC是指网络运营中心,它是一个企业或组织内部的网络管理中心,负责监控和管理整个网络基础设施。

2. NOC的作用NOC的主要作用是确保网络的稳定运行,及时发现和解决网络故障,保障网络安全,提高整个网络系统的稳定性和可靠性。

三、核桃编程马拉松初赛题目的解析1. 题目内容概述本次初赛题目要求参赛者模拟一个NOC场景,以实际的网络数据为基础,进行网络故障诊断和问题处理。

2. 题目要点分析a. 数据处理:参赛者需要对给定的网络数据进行分析和处理,从中发现潜在的问题和异常。

b. 故障诊断:根据数据分析的结果,参赛者需要准确诊断出网络故障的具体原因和范围。

c. 问题处理:针对诊断出的网络故障,参赛者需要提出有效的解决方案和应对措施。

四、个人观点与理解通过对初赛题目的深入分析,我个人认为这个题目不仅考察了参赛者对网络数据的分析能力,更重要的是检验了参赛者在紧急情况下的问题处理能力和应对能力。

对于参赛者来说,不仅要具备扎实的网络知识和数据处理能力,更需要具备临场应变和解决问题的能力。

五、总结回顾通过本文的解析,相信读者对于核桃编程马拉松初赛题目有了更深入的理解。

对于NOC的定义与作用有了更清晰的认识,对于初赛题目的要点也有了更具体的了解。

在解析过程中,我也对初赛题目的难点和技巧进行了重点阐述,并共享了我的个人观点和理解。

希望本文能对读者更全面、深刻和灵活地理解核桃编程马拉松初赛题目带来帮助。

六、结语本文以知识的文章格式进行撰写,通过序号标注和多次提及核桃编程马拉松初赛题目,使文章更具有层次感和深度。

文章总字数超过3000字,同时符合题目的要求,未出现字数统计。

13届蓝桥杯初赛试题

13届蓝桥杯初赛试题

13届蓝桥杯
编程第1题:(18分)背景信息:2021年6月17日,时隔五年,神舟载人飞船再出征,这是中国航天员第七次叩响浩瀚宇宙的大门,也是中国载人航天进入空间站阶段后首次载人飞行任务。

编程实现:运行程序,按下空格键实现火箭发射的过程。

具体要求:
1)点击绿旗,角色、背景如图所示:
2)按下空格键,指挥员说:“倒计时准备”并开始倒计时(3-1)
3)最后指挥员说:“发射”;火箭会向上运动并切换造型,飞到舞台顶端后火箭消失。

评分标准:
6分:满足要求1)
6分:满足要求2)
6分:满足要求3)
编程第2题:(20分)运行程序,赛车出现在起点位置,用上下按键控制赛车前后移动,左右按键控制赛车左右转动,如果移动过程中赛车碰到蓝色墙壁回到起点位置。

具体要求:
1)点击绿旗,赛车出现在如图所示的起点位置:
2)按上键赛车前进,按下键赛车后退,按左键赛车向左转动,按右键赛车向右转动。

3)碰到蓝色墙壁回到起点位置。

评分标准:
5分:满足要求1)
8分:满足要求2)
7分:满足要求3)
编程第3题:(25分)运行程序,鼠标点击屏幕,会自下而上画出一条枝干和一朵花,花朵是由五片花瓣组成,每片花瓣为五边形图案,每次画出枝干和花朵颜色随机。

具体要求:
1)在舞台上的任意一点,点击鼠标,会从点击处的舞台正下方画出一条枝干到达鼠标点击位置(枝干的颜色随机);
2)枝干到达鼠标点击处,画出由五片花瓣组成的花朵(每片花瓣为五边形图案,花朵颜色随机);
3)在屏幕任意位置点击都会出现随机颜色的枝干和花朵。

评分标准:
5分:满足要求1)
10分:满足要求2)
10分:满足要求3)。

腾讯2013校招笔试题(含答案)-

腾讯2013校招笔试题(含答案)-

腾讯2013校园招聘技术类笔试题一、选择题1、数据库表设计最合理的是 (A )A.学生{id,name,age} ,学科{id,name} 分数{学生id ,学科id ,分数}B.学生{id,name,age} ,分数{学生id ,学科名称,分数}C.分数{学生姓名,学科名称,分数}D.学科{id,name},分数{学生姓名,学科id ,分数}解析: C,D 肯定不对,B 中将学科独立成一个表结构会更加清晰,一个实体对应一张表。

2、在数据库系统中,产生不一致的根本原因是 (D )A .数据存储量太大B .没有严格保护数据C .未对数据进行完整性控制D .数据冗余解析: 基本概念3、15L 和27L 两个杯子可以精确地装(C )L 水?A. 53B. 25C. 33D. 52解析: 设A 杯15L ,B 杯27L ,用A 打两次水,将B 装满,最后A 还剩3L ,将3L 水装至B ,还是用A 打两次水,将B 装满,最后A 中有6L ,6+27=33.9,12,15..同理 4、考虑左递归文法 S->Aa|b 、 A ->Ac | Sd |e ,消除左递归后应该为(A )A. B. C . D. S->Aa|b S->Ab|a S->Aa|b S->Aa|b A->bdA'|A' A->bdA'|A' A->cdA'|A' A->bdA'|A' A->cA'|adA' |ε A->cA'|adA' |ε A->bA'|adA' |ε A->caA'|dA' |ε设A杯15L,B杯27L,用A打两次水,将B装满,最后A还剩3L,将这3L倒入B,再将A接满倒入B,此时B杯中有18L水,将A接满,则15+18=33L解析: e为空集,消除左递归,即消除有A->A*的情况,消除做递归的一般形式为U = Ux1 | U x2 |y1|y2U = y1U' |y2 U'U' = x1U'|x2U'|eA = Ac|Aad|bd|eA =bdA'|A'A'= cA'|adA'|e5、下列排序算法中,初始数据集合对排序性能无影响的是(B)A.插入排序 B.堆排序 C.冒泡排序D.快速排序解析:插入和冒泡再原数据有序的情况下会出现性能的极端情况(O(n),O(n^2)).快速排序在对一个基本有序或已排序的数组做反向排序时,每次patition的操作,大部分元素都跑到了一遍,时间复杂度会退化到O(n^2)。

2013ACM月赛第I场正赛题目

2013ACM月赛第I场正赛题目

北京理工大学珠海学院A-G共7题注意:题目难度与题号无关A老吴的棋盘游戏Time Limit: 1s Memory Limit: 256MProblem Description集训的结束带来的就是新学期的到来。

开学已久,ACMer们许久没A题也有些无聊了,不过最近老吴发现了一个游戏可以用来消磨时间。

其实就是一个棋盘游戏,它的规则是这样的,全场只有一颗棋子,初始坐标在(1,1)点,下一步只能往(1,2)(0,1)(2,1)三个方向移动。

后面该棋子也以这个规则移动。

对家提问恰好走N步且不经过已走过的点有多少种走法,而你只需回答有M种走法就行了。

大胆地去猜测具体规则吧,骚年。

Input有多组测试数据。

每行都有一个整数N(N<=20),当N小于或等于0时结束全部输入。

Output输出占一行,为对家提问的结果M。

Sample Input13Sample Output317AuthorBy-廖瑞华B老陈逛校园Time Limit: 1s Memory Limit: 256MProblem Description老吴的棋盘游戏好不好玩?不过瘾的话来做一个有意义的事吧,荔枝园去过么?没去过不要紧,我们的活动不在那里进行,在全校范围内,假设学校有N个地点,M条道路。

是这样的,有一天老陈出去校门口送pc坐车回家,回来时忽然心血来潮就把学校走了一圈。

他发现其实我们学校真的很大,只是我们都没去走过而已。

这样吧,你们去走遍北理珠校园?走归走,从2饭到图书馆有很多路径可以选择,你们应该寻找捷径。

走过后最好就给老陈画一张地图啦。

不过只需要给老陈路径的数据就可以了,绘制就由他来做吧。

大胆地去开发校园吧,别留遗憾。

Input有多组测试数据。

第一行都有2个整数N M(1<=N<=1000,0<=M<=10000),接下来有M行a b c,(1<=a,b<=N,0<=c<=10000),表示a与b之间有一条长度为c的道路。

编程马拉松试题_发布版

编程马拉松试题_发布版

招商银行第一届编程马拉松试题2015年12月21日– 12月28日算法类1、可变数组求和(30分)给定一个整数数组,sum_range(m, n) 函数给出指定下标 m, n 之间的数值之和(m<=n)update(idx, value) 函数修改第 idx 位的数值为 value要求:•你的代码需要定义一个 NumArray 类,它包括以上两个函数•数组只能通过 update 函数更新2、给出数组计数结果(30分)给定一个整数数组 nums,你需要返回一个等长的 counts 数组,count[i] 的取值是nums[i] 右侧比它小的数值的个数。

因此,counts 数组为 [2, 0, 2, 1, 0]3、字符串求值运算(40分)给定一个由数字 0-9 组成的字符串 S,给定一个数值 N,请找出该字串内所含数字的所有组成 N 的可能组合。

注意:只能使用加、减、乘三种操作符号。

4、获得最多奖金(40分)给定 n 个小球,balls[n],位置从 0 到 n-1 标定,每个球上都标定了一个正整数,用数组nums[n] 表示。

现在,你需要选定一个小球将它移除,于此同时,你将获得以它为中心、相邻三个小球的数值的乘积值所对应的奖金。

假设你选定的是第 k 个位置的小球,那么你获得的奖金为 num[k-1] * num[k] * num[k+1]。

你的任务是,找出可能获得的最多的奖金值。

约束:•0 ≤ n ≤ 500, 0 ≤ nums[i] ≤ 100•n ums[-1] = nums[n] = 1。

这些特殊位置的球不存在,也不能被移除。

5、移除无效括号(40分)给定一个字符串,它包含了小括号字符。

请你移除最少的小括号字符,使得剩余的小括号字符能够成对匹配。

注意,字符串中可能包含其他的字符。

6、搜寻单词(50分)给定一个二维的字母表,再给定一个单词数组,请在二维字母表里找到单词数组里可能出现的组合。

2013年全国软件大赛赛前辅导题

2013年全国软件大赛赛前辅导题

231.尼科彻斯定理验证尼科彻斯定理,即:任何一个整数的立方都可以写成一串连续奇数的和。

××*问题分析与算法设计本题是一个定理,我们先来证实它是成立的。

对于任一正整数a,不论a是奇数还是偶数,整数(a×a-a+1)必然为奇数。

构造一个等差数列,数列的首项为(a×a-a+1),等差数列的差值为2(奇数数列),则前a 项的和为:a×((a×a-a+1))+2×a(a-1)/2=a×a×a-a×a+a+a×a-a=a×a×a定理成立。

证毕。

通过定理的证实过程可知L所要求的奇数数列的首项为(a×a-a+1),长度为a。

编程的算法不需要非凡设计,可按照定理的证实过直接进行验证。

*程序与程序注释#include<stdio.h>void main(){int a,b,c,d;printf("Please enter a number:");scanf("%d",&a); /*输入整数*/b=a*a*a; /*求整数的三次方*/printf("%d*%d*%d=%d=",a,a,a,b);for(d=0,c=0;c<a;c++) /*输出数列,首项为a*a-a+1,等差值为2*/{d+=a*a-a+1+c*2; /*求数列的前a项的和*/printf(c?"+%d":"%d",a*a-a+1+c*2);}if(d==b)printf(" Y\n"); /*若条件满足则输出“Y”*/else printf(" N\n"); /*否则输出“N”*/}*运行结果1) Please enter a number:1313*13*13=2197=157+159+161+163+165+167+169+171+173+175+177+179+181 Y2) Please enter a number:1414*14*14=2744=183+185+187+189+191+193+195+197+199+201+203+205+207+209 Y*思考题本题的求解方法是先证实,在证实的过程中找到编程的算法,然后实现编程。

2013上半年程序员考试真题及答案-下午卷

2013上半年程序员考试真题及答案-下午卷

2013上半年程序员考试真题及答案-下午卷试题一平面上一个封闭区域内稳定的温度函数是一个调和函数。

如果区域边界上各点的温度是已知的(非常数),那么就可以用数值方法近似地计算出区域内各点的温度。

假设封闭区域是矩形,可将整个矩形用许多横竖线切分成比较细小的网格,并以最简单的方式建立坐标系统,从而可以将问题描述为:已知调和函数u(i,j)在矩形{0≤i≤m;0≤j≤n}四边上的值,求函数u在矩形内部各个网格点{(i,j)|i=1,…,m-1;j=1,…,n-1}上的近似值。

根据调和函数的特点可以推导出近似算式:该矩形内任一网格点上的函数值等于其上下左右四个相邻网格点上函数值的算术平均值。

这样,我们就可以用迭代法来进行数值计算了。

首先将该矩形内部所有网格点上的函数值设置为一个常数,例如u(0,0);然后通过该迭代式计算矩形内各网格点上的新值。

这样反复进行迭代计算,若某次迭代后所有的新值与原值之差别都小于预定的要求(如0.01),则结束求解过程。

阅读以上说明和流程图,填补流程图中的空缺(1)〜(5),将解答填入答题纸的对应栏内。

(1) 0或任意一个负数(2) (u(ij+1)+u(ij-1)+u(i-1j)+u(i+1j))/4或等价表示(3) max(4) new或((u(i,j+l)+u(i,j-l)+u(i-lj)+u(i+l,j))/4或等价表示(5) max试题二(共15分)本题考查算法(数值计算)流程的描述。

封闭区域内稳定(没有奇异点)的温度场、磁场等都是调和函数。

已知边界上的值,就可以近似计算区域内各点的值。

对于网格化后的矩形区域{0≤i≤m;0≤j≤n},其边界点为{(0,j)丨j=0,..,n}、{((i,0)丨i=0,..,m}、{(m,j)丨j=0,..,n}、{((i,n)|i=0,..,m},其内点为{(i,j)|i=1,•.•m-l;j=1,...,n-l}。

本题采用迭代法进行近似计算。

2013腾讯编程马拉松初赛(3月22)赛题

2013腾讯编程马拉松初赛(3月22)赛题

2013腾讯编程马拉松初赛(3月22)赛题1001 小Q系列故事——为什么时光不能倒流Time Limit: 0.1 Seconds Memory Limit: 65536K我以为我会是最坚强的那一个我还是高估了自己我以为你会是最无情的那一个还是我贬低了自己就算不能够在一起我还是为你担心就算你可能听不清也代表我的心意那北极星的眼泪闪过你曾经的眼角迷离那玫瑰花的葬礼埋葬的却是关于你的回忆如果时光可以倒流我希望不要和你分离如果注定分离我希望不要和你相遇. ——摘自《小Q失恋日记》第17卷520页这是码农小Q第58次失恋了,也是陷得最深的一次。

要知道,小Q自从第一次到腾讯公司报到,就被风姿绰约的前台MM彻底迷住了,这1000多个日日夜夜他无时无刻不在憧憬着他们美好的未来。

为了能见到MM,他每天早到晚归,甘愿加班,连续3年被评为优秀员工,并且以全公司最快的速度晋级到四级岗位。

就在他终于鼓足勇气准备表白的时候,MM却满面春风地送来了一包喜糖......现在小Q专门请了年休假治疗情伤,但情绪总不见好转,每天足不出户,眼睛盯着墙上的钟表,反复念叨:“表白要趁早,时光不倒流,表白要趁早,时光不倒流......”假设现在已知当前的时间,让时间倒退回若干,你能计算出钟表显示的时间吗?Input输入首先包含一个整数N,表示有N组测试用例。

接下来的N行表示N个测试用例,每行包括2个时间HH:MM:SS hh:mm:ssHH:MM:SS表示当前的时间,hh:mm:ss表示希望倒退回去的时间。

[Technical Specification]00<=HH<=1100<=hh<=9900<=MM, SS, mm, ss<=59Output请计算并输出钟表倒退后显示的时间,要求输出格式为HH:MM:SS(即时分秒均显示2位,不足则补0),每组数据输出占一行。

Sample Input211:28:32 02:14:21 05:00:00 96:00:01Sample Output09:14:1104:59:591002 小明系列故事——女友的考验Time Limit: 0.2 Seconds Memory Limit: 32768K终于放寒假了,小明要和女朋友一起去看电影。

2013腾讯编程马拉松初赛(3月20)赛题

2013腾讯编程马拉松初赛(3月20)赛题

1001 小Q系列故事——屌丝的逆袭Time Limit: 0.1Seconds Memory Limit: 65536K毕业于普通本科的小Q一直自称是资深屌丝,不仅学校不知名,甚至他自己在这个普通学校也是默默无闻——直到临近毕业的时候,班里5朵金花中的2位甚至从没和他说过话!谁又能想到,如此不起眼的小Q在历经重重面试环节后,竟然如愿以偿加入了心仪已久的腾讯公司!消息刚刚传开的那几天,这在他们班甚至整个学院都是讨论的热门话题,如果这时候你还表示不知道小Q是谁,你都会被大家当作怪物的。

正所谓野百合也有春天,屌丝也有逆袭的那一天!刚到腾讯大厦上班的那几天,小Q眼中的一切都是那么新鲜,连每天见到的前台MM在他眼中都胖的那么可爱。

小Q就这样在紧张与兴奋的情绪中度过了一天又一天,每天即勤奋认真又小心翼翼,很希望能给主管留下个好印象,以免失去这来之不易的工作机会。

一段时间以后,随着对工作环境以及同事的熟悉,小Q逐渐放松下来,在工作间隙,他细细观察了自己的工作环境,发现整个工作室是一个N行M列的矩形布局,或者是因为屌丝的本性逐步暴露,他还暗自给每个同事在心里进行了魅力值评分(为区别男女,男生一律用负整数表示,女生一律用正整数表示)。

现在,小Q把所有人的数据记录下来,并且这样定义一个位置的价值:1、一个位置的价值只和其上下左右四个邻居的魅力值有关(对于靠边的位置,只考虑其存在的邻居);2、如果某位置的邻居和该位置主人性别不同,则总分加上邻居魅力值的绝对值,否则减去;3、对周围所有邻居的数据处理后,最终的得分即为这个位置的最终得分,得分越高,则该位置越好;现在你能帮助小Q计算一下哪里才是最佳位置吗?Input输入包含多组测试数据;每组测试数据的第一行包含2个整数N和M,表示工作室的布局是N行M列;接下来的N行,每行有M个整数,分别表示对应位置员工的魅力值数据Ki,正整数表示女生的魅力值,负整数表示男生的魅力值;N和M为0的时候表示输入数据结束。

2013年CCF考试真题及答案

2013年CCF考试真题及答案

更多CCF真题及答案,请搜索:/acpchenpeng/article/category/5965279试题编号:201312-1试题名称:出现次数最多的数1.#include<cstdio>2.#include<cstdlib>3.#include<iostream>4.#include<string>5.#include<vector>6.#include<list>7.#include<map>8.ing namespace std;10.11.int main()12.{13.int n,m,max;14.int num=0;15. cin >> n;16. map<int,int> f; //有序容器17.18.for(int i = 0;i < n; i++)19. {20. cin>>m;21. f[m]++;22. }23.24.for(map<int,int>::iterator it = f.begin();it!=f.end();it++)25. {26.if(it->second > num)27. {28. num = it->second;29. max = it->first;30. }31. }32.33. cout << max;34.35.return 0;36.37.}201312-2试题名称:ISBN号码[cpp]view plaincopy1.#include<cstdlib>2.#include<iostream>3.#include<string>4.#include<vector>5.#include<map>6.ing namespace std;8.9.int main()10.{11. string s;12. cin >> s;13.int a[10]={0};14.int sum =0;15.int j =0;16.for(string::iterator i = s.begin() ;i != s.end(); i++)17. {18.19.if(*i != '-')20. {21. a[j] = *i - '0';22.if(j < 9)23. sum += a[j] * (j+1);24. j++;25. }26. }27.28.29.if(sum % 11 == a[9] ||(sum % 11 == 10 && s[12] == 'X'))30. cout << "Right" << endl;31.32.else33. {34.if(sum % 11 == 10)35. s[12] = 'X';36.else37. s[12] = sum % 11 + '0'; //不要忘记+‘0’38. cout << s << endl;39.40. }41.42.return 0;43.}试题编号: 3试题名称:最大的矩形[cpp]view plaincopy1.#include<cstdlib>2.#include<iostream>3.#include<string>4.#include<vector>5.#include<map>6.ing namespace std;8.9.int main()10.{11.int n,m;12. cin >> n;13.14. vector<int> v;15.for(int i =0; i< n;i++)16. {17. cin >> m;18. v.push_back(m);19. }20.21.int s_max=0; //全局变量,用于保存最大的面积22.23.for(int i=0;i<n;i++)24. {25.int h_min = v[i]; //保存最小高26.27.for(int j=i;j<n;j++)28. {29.if(v[j] < h_min)30. h_min = v[j]; //更新最小高,注意是v[j],不是j31.int s = h_min * (j-i+1); //计算当前面积32.if( s > s_max)33. s_max = s; //更新最大面积34. }35. }36. cout << s_max <<endl;37.38.return 0;39.}试题编号:201312-4试题名称:有趣的数#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <vector>#include <deque>#include <list>using namespace std;long long f[2000][3][2]; // f[seq_k to place][0: to place 0 , 1: ethier 0 or 1, 2 : must be 1][3 is placed ?1 : 0]int dp(int n, int p1, int p3){long long &now = f[n][p1][p3];if (now != -1)return now;if (n == 0){if (p1 == 2 && p3 == 1){now = 1;}else{now = 0;}return now;}now = 0;if (p1 == 0){now += dp(n-1, 1, p3); // go 0}else if (p1 == 1){now += dp(n-1, 1, p3); // go 0 now += dp(n-1, 2, p3); // go 1 }else // p1 == 2{now += dp(n-1, 2, p3); // go 1}if (p3 == 0){now += dp(n-1, p1, p3); // go 2;now += dp(n-1, p1, 1); // go 3;}else{now += dp(n-1, p1, 1); // go 3;}now %= 1000000007;}int main(){int n;cin >> n;memset(f, -1, sizeof(f));int ans = dp(n - 1, 0, 0); // seq[n] is 2cout << ans << endl;return 0;}试题编号:201312-5试题名称:I’m stuck!#include <cstdio>#include <string>#include <vector>#include <deque>#include <cstring>#include <list>using namespace std;//class Move{ public:virtual bool CanMove(char from, char to, int dx, int dy) = 0; };class ForwardMove : public Move{public:virtual bool CanMove(char from, char to, int dx, int dy) {if (to == '#') return false;switch (from){case '+' : case 'S' : case 'T' : return true; break;case '-' : return dy != 0; break;case '|' : return dx != 0; break;case '.' : return dx == 1; break;}return false;}};class BackwardMove : public Move{public:virtual bool CanMove(char from, char to, int dx, int dy) {if (to == '#') return false;switch (to){case '+' : case 'S' : case 'T' : return true; break;case '-' : return dy != 0; break;case '|' : return dx != 0; break;case '.' : return dx == -1; break;}return false;};char s[100][100];typedef bool ARR[100][100];ARR bs, bt;int sx, sy, tx, ty;int d[4][2] = {{-1, 0},{1, 0},{0, 1},{0, -1}};void Bfs(ARR b, Move *move, int x, int y){if (b[x][y])return;b[x][y] = true;for (int o = 0; o < 4; o++){int dx = d[o][0];int dy = d[o][1];int xx = x + dx;int yy = y + dy;if (move->CanMove(s[x][y], s[xx][yy], dx, dy)) {Bfs(b, move, xx, yy);}}}int n, m;int main(){cin >> n >> m;for (int i = 0; i <= n + 1; i++)for (int j = 0; j <= m + 1; j++)s[i][j] = '#';for (int i = 1; i <= n; i++)cin >> s[i]+1;for (int i = 0; i <= n + 1; i++)s[i][m + 1] = '#';for (int i = 0; i <= n + 1; i++){for (int j = 0; j <= m + 1; j++){if (s[i][j] == 'S'){sx = i; sy = j;}if (s[i][j] == 'T'){tx = i;ty = j;}}}Bfs(bs, new ForwardMove(), sx, sy); Bfs(bt, new BackwardMove(), tx, ty);int ans = 0;for (int i = 0; i <= n + 1; i++){for (int j = 0; j <= m + 1; j++){if (bs[i][j] && ! bt[i][j])ans ++;}}if (bs[tx][ty] == false)cout << "I'm stuck!" << endl;elsecout << ans << endl;return 0;}。

NOIP2013初赛普及其组C题目及其规范标准答案

NOIP2013初赛普及其组C题目及其规范标准答案

第十九届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2013 年10 月13 日14:30~16:30选手注意:试题纸共有9 页,答题纸共有2 页,满分100 分。

请在答题纸上作答,写在试题纸上的一律无效。

不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共20 题,每题 1.5 分,共计30 分;每题有且仅有一个正确选项)1. 一个32 位整型变量占用()个字节。

A. 4B. 8C. 32D. 1282. 二进制数11.01 在十进制下是()。

A. 3.25B. 4.125C. 6.25D. 11.1253. 下面的故事与()算法有着异曲同工之妙。

从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事....’A. 枚举B. 递归C. 贪心D. 分治4. 逻辑表达式()的值与变量A 的真假无关。

A. (A∨B)∧﹃AB. (A∨B)∧﹃BC. (A ∧B) ∨(﹃A ∧B)D. (A ∨B)∧﹃A ∧B5. 将(2, 6, 10, 17)分别存储到某个地址区间为0~10 的哈希表中,如果哈希函数h(x) =(),将不会产生冲突,其中a mod b 表示a 除以b 的余数。

A. x mod 11B. x2 mod 11C. 2x mod 11D. |√2| mod 11 ,其中√X表示√X下取整6. 在十六进制表示法中,字母 A 相当于十进制中的()。

A. 9B. 10C. 15D. 167. 下图中所使用的数据结构是()。

A. 哈希表B. 栈C. 队列D. 二叉树8. 在Windows 资源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是()。

A. 用剪切板中的文件替换该文件B. 在该文件所在文件夹中,将该文件克隆一份C. 将该文件复制到剪切板,并保留原文件D. 将该文件复制到剪切板,并删除原文件9. 已知一棵二叉树有10 个节点,则其中至多有()个节点有 2 个子节点。

2013腾讯编程马拉松初赛(3月25)赛题

2013腾讯编程马拉松初赛(3月25)赛题

1001 威威猫系列故事——吃鸡腿Time Limit: 1.0 Seconds Memory Limit: 32768K威威猫不是一只普通的猫,普通的猫喜欢吃鱼,但威威猫最喜欢吃鸡腿。

他每天都在不停的吃啊吃,吃了一只又一只鸡腿。

现在他遇到了一个难题,如果他的体重太胖那么他的主人就不给他吃鸡腿了,所以他需要你的帮助。

威威猫的身体由n个器官构成,由于他的身体很特殊所以他的增长也很特殊(不要问为什么,喜欢吃鸡腿的猫已经够奇怪了)。

他的增长有个k1和k2系数,而且每天的增长量和前一天有关,我们假设这n个器官在第i天的数值分别是a(i,1), a(i,2),a(i,3) …… a(i,n),那么,第i+1天他每个器官的数值就会变成:a(i+1,1) = k1 * a(i,1) + k2 * a(i,2)a(i+1,2) = k1 * a(i,2) + k2 * a(i,3)......a(i+1,n) = k1 * a(i,n) + k2 * a(i,1)威威猫的体重等于他的所有器官的数值之和,并且他还拥有一个特殊的机能,就是会自动检测自己的体重,如果他的体重比K大,那么就会自动停止生长(为了每天都能吃到鸡腿),由于威威猫的特殊身体构造他的体重是可能会变成负数的。

现在我给你n个器官的初始数值和他的增长系数k1,k2,请问他几天之后会停止生长,如果他永远无法停止生长那么就输出"inf"。

(引号不用输出)Input输入数据第一行是一个正整数T,表示有T组测试数据;每组数据的第一行包含4个数字n,k1,k2,k,代表威威猫有n个器官,他的生长系数是k1,k2,当体重超过k的时候他就停止生长。

接下来的一行是n个数ai,代表威威猫每个器官第一天的数值是多少。

[Technical Specification]T <= 1001 <= n <= 10000-100 <= k1, k2 <= 1001 <= k <= 10 ^ 181 <= ai <= 1000(1 <= i <= n)Output对于每组测试数据,请首先输出"Case #X: ",X代表测试用例的编号,然后输出一个数ans,代表ans天之后他会停止生长,如果不会停止就输出inf.具体可参见sample output。

c03-NOIP2013初赛答案解析

c03-NOIP2013初赛答案解析

一、单选题(15*1.5)1、A,一个字节有8个bit,32位整型变量占用4个字节,故选A。

2、A,二进制11.01转为十进制,(11.01)2 = 1*2+1+0*0.5+1*0.25 = (3.25)10 。

3、B,老和尚给小和尚讲的故事里边有故事本身,递归是函数内部调用函数本身,故选B,递归。

4、D,香农信息论鼻祖。

5、A,一定是满二叉树时拥有2个字节点的节点数最多,最下一层会有2013-1023=990个节点,于是倒数第二层会有990/2=495个节点有2个字节点,从第1层到倒数第三层共有1023-2^9=511个节点,且这些节点都是用2个子节点的节点,所以共有495+511=1006个,选A。

6、B,要使图不联通,只要其中某一个节点不连通即可,所有顶点度最少是3,所以最少需要删除3条边,选B。

7、D,此题最开始一眼扫到的时候脑子进水,跟学生将选B,O(n),实际上不是,计算F1需要1次,计算F2需要一次,计算Fn需要计算F(n-1)的次数加上F(n-2)的次数,所以其实就是计算Fn次,于是答案选择D,至于这个Fn到底是多大,数学上可以计算,它等于O(((1+sqrt(5))/2)^n).8、B,这个必须是B,没有什么好说的,中序遍历保证左边都是小于根的,右边都是大于根的,所以可以保证是一个有序序列。

9、D,A项6和17对11取余都是6发生冲突,B项10的平方和17的平方对11取余都是1发生冲突,C项6的两倍和17的两倍对11取余都是1发生冲突,D 项分别为1,2,3,4,不冲突。

10、D,IPV6地址是128位的。

谢谢网友指正!11、C,二分为6个和6个的顶点,此时边最多,有36条边。

12、B,我的学生几乎全选A去了,因为之前讲题只介绍过ASCII码,但是看到统一二字也应该想到Uni...前缀啊。

13、D,64位非零浮点数强制转换成32位浮点数,两个数会有大小上的细微差别,但不会发生符号变化,因为有专门的符号位。

蓝桥杯13届真题答案解析

蓝桥杯13届真题答案解析

蓝桥杯13届真题答案解析是计算机竞赛中一道非常具有挑战性的题目,要求参赛者在规定的时间内解决一系列的编程问题。

这些问题涵盖了计算机科学与技术的多个领域,考察了参赛者的算法设计、编程能力、数据结构等。

在解析此次之前,我们需要先了解一下蓝桥杯比赛的特点。

蓝桥杯竞赛是国内最具影响力的大学计算机竞赛之一,每年都吸引了大批的计算机爱好者参与其中。

竞赛分为初赛和决赛两个阶段,初赛采取线上形式,参赛者通过提交代码的方式进行答题。

而决赛则是线下举行,参赛者需要在规定时间内完成一系列的实际编程任务。

接下来我们来分析一下13届蓝桥杯的真题,看看其难度和题目要求。

这一届的真题一共有三道编程题目和一道思维题目。

其中,编程题目涉及到计算几何、搜索算法和动态规划等算法思想。

而思维题目则考察了参赛者的逻辑思维和创新能力。

第一道编程题目是关于计算几何的问题,要求参赛者编写程序计算一个多边形的面积。

这个问题相对较简单,只需要按照多边形的定义,计算出每个三角形的面积,并将其相加即可得到最终结果。

参赛者需要注意的是边界条件和特殊情况的处理。

第二道题目是关于搜索算法的问题,要求参赛者编写程序找出一个迷宫中从起点到终点的最短路径。

这个问题稍微复杂一些,需要使用深度优先搜索或广度优先搜索等算法来解决。

参赛者需要注意的是搜索过程中的剪枝和优化策略,以减少搜索时间和空间复杂度。

第三道题目是关于动态规划的问题,要求参赛者编写程序计算一个序列中的最长递增子序列的长度。

这个问题需要使用动态规划的思想,参赛者需要将问题分解为子问题,并设计状态转移方程来解决。

参赛者需要注意的是保存中间结果和优化子问题的计算顺序,以减少计算时间和空间复杂度。

最后是思维题目,该题目要求参赛者在一个给定的矩阵中找出一个序列,使得该序列的和最大。

这个问题可以使用动态规划的思想来解决,参赛者需要设计状态转移方程,并根据问题的特点来求解。

参赛者需要注意的是边界条件和特殊情况的处理,以保证算法的正确性和效率。

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

1001小Q系列故事——电梯里的爱情
Time Limit:0.1Seconds Memory Limit:65536K
细心的同事发现,小Q最近喜欢乘电梯上上下下,究其原因,也许只有小Q自己知道:在电梯里经常可以遇到他心中的女神HR。

电梯其实是个很暧昧的地方,只有在电梯里,小Q才有勇气如此近距离接近女神,虽然觉得有点不自在,但次数多了,女神也习惯了小Q的存在,甚至熟悉到仿佛不说上句话自己也都觉得不合适了。

可是,他们的谈话也仅仅限于今天天气不错啊或是你吃了吗之类的,往往在对方微笑点头后就再次陷入难堪的沉默之中。

于是,小Q便在陪伴女神的同时,也关注着电梯中显示的楼层数字,并且他注意到电梯每向上运行一层需要6秒钟,向下运行一层需要4秒钟,每开门一次需要5秒(如果有人到达才开门),并且每下一个人需要加1秒。

特别指出,电梯最开始在0层,并且最后必须再回到0层才算一趟任务结束。

假设在开始的时候已知电梯内的每个人要去的楼层,你能计算出完成本趟任务需要的总时间吗?
这是个很简单的问题,要知道,小Q已经修炼到快速心算出结果的境界,现在你来编程试试吧!
Input
输入首先包含一个正整数C,表示有C组测试用例。

接下来C行每行包含一组数据,每组数据首先是一个正整数N,表示本次乘坐电梯的人数,然后是N个正整数Ai,分别表示大家要去的楼层。

Specification]]
[Technical Specification
C<=100
N<=15
Ai<=100
Output
请计算并输出完成一趟任务需要的时间,每组数据输出占一行。

Sample Input
2
42432
3101010
Sample Output
59
108
1002小明系列故事——师兄帮帮忙
Time Limit:1.0Seconds Memory Limit:32768K
小明自从告别了ACM/ICPC之后,就开始潜心研究数学问题了,一则可以为接下来的考研做准备,再者可以借此机会帮助一些同学,尤其是漂亮的师妹。

这不,班里唯一的女生又拿一道数学题来请教小明,小明当然很高兴的就接受了。

不过等他仔细读题以后,发现自己也不会做,这下小明囧了:如果回复说自己不懂,岂不是很没面子?
所以,他现在私下求你帮忙解决这道题目,题目是这样的:
给你n个数字,分别是a1,a2,a3,a4,a5……an,这些数字每过一个单位时间就会改变,假设上一个单位时间的数字为a1’,a2’,a3’……an’,那么这个单位时间的数字a[i] =a[i-1]’*K(i==1的时候a[1]=a[n]’*K),其中K为给定的系数。

现在的问题就是求第t单位时间的时候这n个数字变成了什么了?由于数字可能会很大,所以只要你输出数字对10^9+7取余以后的结果。

Input
输入数据第一行是一个正整数T,表示有T组测试数据;
每组数据有两行,第一行包含输入三个整数n,t,k,其中n代表数字个数,t代表第t个单位时间,k代表系数;第二行输入n个数字ai,代表每个数字开始的时候是多少。

[Technical Specification]
T<=100
1<=n<=10^4
0<=t<=10^9其中t=0表示初始状态
1<=k<=10^9
1<=ai<=10^9
Output
对于每组数据请输出第t单位时间后这n个数字变成了什么,输出的时候每两个数字之间输出一个空格,行末不要输出多余的空格,具体见样例。

Sample Input
2
325
123
305
123
Sample Output
507525
123
1003吉哥系列故事——恨7不成妻
Time Limit:0.5Seconds Memory Limit:65536K
单身!
依然单身!
吉哥依然单身!
DS级码农吉哥依然单身!
所以,他生平最恨情人节,不管是214还是77,他都讨厌!
吉哥观察了214和77这两个数,发现:
2+1+4=7
7+7=7*2
77=7*11
最终,他发现原来这一切归根到底都是因为和7有关!所以,他现在甚至讨厌一切和7有关的数!
什么样的数和7有关呢?
如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关——
1.整数中某一位是7;
2.整数的每一位加起来的和是7的整数倍;
3.这个整数是7的整数倍;
现在问题来了:吉哥想知道在一定区间内和7无关的数字的平方和。

Input
输入数据的第一行是case数T(1<=T<=50),然后接下来的T行表示T个case;每个case在一行内包含两个正整数L,R(1<=L<=R<=10^18)。

Output
请计算[L,R]中和7无关的数字的平方和,并将结果对10^9+7求模后输出。

Sample Input
3
19
1011
1717
Sample Output
236
221
Time Limit:1.0Seconds Memory Limit:65536K
对于吃货来说,过年最幸福的事就是吃了,没有之一!
但是对于女生来说,卡路里(热量)是天敌啊!
资深美女湫湫深谙“胖来如山倒,胖去如抽丝”的道理,所以她希望你能帮忙制定一个食谱,能使她吃得开心的同时,不会制造太多的天敌。

当然,为了方便你制作食谱,湫湫给了你每日食物清单,上面描述了当天她想吃的每种食物能带给她的幸福程度,以及会增加的卡路里量。

Input
输入包含多组测试用例。

每组数据以一个整数n开始,表示每天的食物清单有n种食物。

接下来n行,每行两个整数a和b,其中a表示这种食物可以带给湫湫的幸福值(数值越大,越幸福),b表示湫湫吃这种食物会吸收的卡路里量。

最后是一个整数m,表示湫湫一天吸收的卡路里不能超过m。

[Technical Specification
Specification]]
1.1<=n<=100
2.0<=a,b<=100000
3.1<=m<=100000
Output
对每份清单,输出一个整数,即满足卡路里吸收量的同时,湫湫可获得的最大幸福值。

Sample Input
3
33
77
99
10
5
11
53
103
68
75
6
Sample Output
10
20
Time Limit:2.0Seconds Memory Limit:65536K
虽然制定了减肥食谱,但是湫湫显然克制不住吃货的本能,根本没有按照食谱行动!于是,结果显而易见…
但是没有什么能难倒高智商美女湫湫的,她决定另寻对策——吃没关系,咱吃进去再运动运动消耗掉不就好了?
湫湫在内心咆哮:“我真是天才啊~\(≧▽≦)/~”
可是,大家要知道,过年回家多忙啊——帮忙家里做大扫除,看电影,看小说,高中同学聚餐,初中同学聚餐,小学同学聚餐,吃东西,睡觉,吃东西,睡觉,吃东西,睡觉……所以锻炼得抽着时间来。

但是,湫湫实在太忙了,所以没时间去算一天有多少时间可以用于锻炼,现在她把每日行程告诉你,拜托你帮忙算算吧~
皮埃斯:一天是24小时,每小时60分钟
Input
输入数据包括多组测试用例。

每组测试数据首先是一个整数n,表示当天有n件事要做。

接下来n行,第i行是第i件事的开始时间和结束时间,时间格式为HH:MM。

Specification]]
[Technical Specification
1.1<=n<=500000
2.00<=HH<=23
3.00<=MM<=59
Output
请输出一个整数,即湫湫当天可以用于锻炼的时间(单位分钟)
Sample Input
1
15:3618:40
4
01:3510:36
04:5422:36
10:1818:40
11:4717:53
Sample Output
1256
179
[hint]
大量输入,建议用scanf读数据。

相关文档
最新文档