2014noip复赛模拟练习29(答案)

辉辉、姗姗和佳佳是好朋友,他们一起参加了在湖南长沙长郡中学举办的第二十一届全国青少年信息学奥林匹克竞赛(NOI2004)。

他们很早就来到了长沙,可是报名还没有开始。

怎么办呢?他们决定分头出去玩一天,晚上回到宿舍以后给大家说说自己这一天做了什么有意义的事情。

你一定想不到辉辉干嘛去了——他睡了一天。

他想:“比赛前几天老是写程序到深夜,头晕晕的……没关系,好好睡一觉,然后我会精神抖擞。

醒了之后,我要做有意义的事情。

”这一睡可不得了,辉辉从早上a点b分c秒一直睡到了下午d点e分f秒。

他睡了多少秒钟呢?六个非负整数a, b, c, d, e, f(1<=a, d<=11, 0<=b, c, e, f<=59)。

例如,a=6, b=5, c=4, d=3, e=2, f=1表示辉辉从06:05:04睡到15:02:01。

【样例输入】6 5 4 3 2 1【样例输出】32217var a,b,c,d,e,f:longint;beginreadln(a,b,c,d,e,f);d:=d+12;writeln((d*3600+e*60+f)-(a*3600+b*60+c));readlnend.将a,b,c,……n个字符,按顺时针方向排成一圈,然后从任意位置开始按顺时针方向连续取k个字符组成一个k位字符串。

(k<n)例如:n=3 k=2 按顺时针方向排成如下一圈:ac b此时,可组成:ab,bc,ca。

当给出n,k后,输出n个k位字符串输入:n k 输出:n个k位字符串输入输出样例:输入:5 4 输出:abcdbcdecdeadeabeabcvar n,k,i,j,a,b: longint;begin readln(n,k);for i:=1 to n dobegina:=i;b:=0;for j:=1 to k dobeginwrite(chr(96+a));if a+1<>n then a:=(a+1) mod nelse a:=n;end;writeln;end;readln;end.问题描述:计算机软件版本通常被用来区分某种软件在不同时间的发布。

大部分软件版本号都是用“.”分隔的非负数的序列。

对两个不同的版本A = a1.a2.a3…an和B = b1.b2.b3…bm,如果下面两个条件之一成立,我们认为版本A要比版本B新:1.对某个i,我们有:对所有j < i, ai > bi 和aj = bj;2.n比m大,而且对所有i < m, ai = bi。

(ai和bi都不超过LONGINT)在这个问题里,你要对给定的一组版本号,按照上面的定义从旧到新排序。

输入文件(VERSIONS.IN):输入文件第一行是一个整数N(N<=20),表示要排序的版本数。

接下来的N行每行一个版本号。

每个版本号是长度不超过50的字符串。

输出文件(VERSIONS.OUT):将排好序的结果以每行一个版本号输出。

输入输出样例:VERSIONS.IN43.0.512.42.4.6VERSIONS.OUT12.42.4.63.0.5var n,i:integer;scan:array [1..30] of string;function check(aa,bb:string):boolean;vara,b:longint;i,j:integer;code:integer;beginaa:=aa+'.'; bb:=bb+'.';i:=pos('.',aa); j:=pos('.',bb);while (i>0) and (j>0) do beginval(copy(aa,1,i-1),a,code);val(copy(bb,1,j-1),b,code);if a<b then exit(true);if a>b then exit(false);delete(aa,1,i);delete(bb,1,j);i:=pos('.',aa);j:=pos('.',bb);end;if (i=0) and (j>0) then exit(true) else exit(false); end;procedure qsort(l,r:integer);vari,j:integer;t:string;beginif l>=r then exit;i:=random(r-l)+l;t:=scan[i];scan[i]:=scan[l];i:=l;j:=r;repeatwhile (i<j) and (check(t,scan[j])) do dec(j);if i=j then break; scan[i]:=scan[j];while (i<j) and (check(scan[i],t)) do inc(i);if i=j then break; scan[j]:=scan[i];until i=j;scan[i]:=t;qsort(l,i-1);qsort(i+1,r);end;beginreadln(n);for i:=1 to n do readln(scan[i]);qsort(1,n);for i:=1 to n do writeln(scan[i]);end.上学路线(route.pas/c/cpp)【题目描述】你所在城市的街道好像一个棋盘,有a条南北方向的街道和b条东西方向的街道。

南北方向的a条街道从西到东依次编号为l到a,而东西方向的b条街道从南到北依次编号为l到b,南北方向的街道i和东西方向的街道j的交点记为(i,j)。

你住在(1,1)处,而学校在(a,b)处,你骑自行车去上学,自行车只能沿着街道走,而且为了缩短时间只允许沿着向东和北的方向行驶。

现在有N个交叉路口在施工(X1,Yl)、(X2,Y2)……,(Xn,Yn),这些路口是不能通车的。

问你上学一共有多少走法?【输入格式】第一行包含两个整数a和b,并且满足1≤a,b≤16。

第二行包含一个整数N,表示有N个路口在维修(1≤N≤40)。

接下来N行,每行两个整数X_i,Y_i,描述路口的位置。

【输出格式】输出一个整数表示从(1,1)到(a,b)的行车路线总数。

【样例数据解释】JOI High School(5,4)(1,1)Taro’s Home题解:1、递推,设F[I,J]表示从(1,1)到(i,j)的方法数,根据考虑最后一步是如何走的,分两种情况:(1)最后一步由(i-1,j)向东走过去,方法数是f[I-1,J](2)最后一步由(i,j-1)向北走过去,方法数是f[I,J-1]当然,如果(i,j)处在施工,那么F[I,J]=0.综上所述得到如下递推式:F[I,J]={(1)(I,J)在施工:f[I,J]=0;(2)(i,j)没有施工:F[I,J]=F[I-1,J]+F[I,J-1];边界条件为F[1,1]=1;【标程】program gfj;var i,j,n,m:longint;a,b:array[-1..52,-1..20]of longint;procedure init;var i,l,x,y:longint;beginreadln(n,m);readln(l);fillchar(a,sizeof(a),0);fillchar(b,sizeof(b),0);for i:=1 to l dobeginreadln(x,y);b[x,y]:=maxlongint;end;end;beginassign(input,'route.in');reset(input);assign(output,'route.out');rewrite(output);init;for i:=1 to n dobeginif b[i,1]=maxlongint then break;a[i,1]:=1;end;for i:=1 to m dobeginif b[1,i]=maxlongint then break;a[1,i]:=1;end;for i:=2 to n dofor j:=2 to m doif b[i,j]<>maxlongint then a[i,j]:=a[i-1,j]+a[i,j-1];writeln(a[n,m]);close(input);close(output);end.遗址(ruin.pas/c/cpp)【题目描述】很久很久以前有一座寺庙,从上往下看寺庙的形状正好是一个正方形,由4个角上竖立的圆柱搭建而成。

现在圆柱都倒塌了,只在地上留下圆形的痕迹,可是现在地上有很多这样的痕迹,专家说一定是最大的那个。

写一个程序,给出圆柱的坐标,找出由4个圆柱构成的最大的正方形,因为这就是寺庙的位置,要求计算出最大的面积。

注意正方形的边不一定平行于坐标轴。

例如右上图有l0根柱子,其中(4,2),(5,2),(5,3),(4,3)可以形成一个正方形,(1,1),(4,O),(5,3),(2,4)也可以,后者是其中最大的,面积为l0。

【输入格式】第一行包含一个N(1≤N≤3 0 0 0),表示柱子的数量。

接下来N行,每行有两个空格隔开的整数表示柱子的坐标(坐标值在0到5000之间),柱子的位置互不相同。

【输出格式】如果存在正方形,输出最大的面积,否则输出0。

【数据范围】30%满足:1≤N≤10060%满足:1≤N≤500。

枚举两个点(X1,Y1),(X2,Y2),易得X2-X1=Y3-Y1 Y3=Y1+(X2-X1)Y2-Y1=X1-X3 X3=X1-(Y2-Y1)(X3,Y3)求出以后,可根据同样的方法求出(X4,Y4)X1+X4=X2+X3Y1+Y4=Y2+Y3从而求出(X4,Y4),再判断(X3,Y3),(X4,Y4)是否存在即可【标程】program ruin;Var n,x1,x2,y1,y2,i,j,dx,dy:word;x,y:array[1..3000] of word;b:array[0..5000,0..5000]of boolean;s,max:longint;Beginassign(input,'ruin.in');reset(input);assign(output,'ruin.out');rewrite(output);max:=0;readln(n);fillchar(b,sizeof(b),false);For i:=1 to n dobeginreadln(x[i],y[i]);b[x[i],y[i]]:=true;end;For i:=1 to n-1 dobeginfor j:=i+1 to n dobegins:=sqr(x[j]-x[i])+sqr(y[j]-y[i]);if s>max thenbeginy1:=y[i]+x[j]-x[i];x1:=x[i]-y[j]+y[i];x2:=x1+x[j]-x[i];y2:=y1+y[j]-y[i];if(x1>=0)and(x2>=0)and(y1>=0)and(y2>=0)and(x1<=5000)and(x2<=5 000)and(y1<=5000)and(y2<=5000)and b[x1,y1] and b[x2,y2] thenmax:=send;end;end;writeln(max);close(input);close(output);End.最轻的天平(mobile.pas/c/cpp)【题目描述】天平的两边有时不一定只能挂物品,还可以继续挂着另一个天平,现在给你一些天平的情况和它们之间的连接关系,要求使得所有天平都能平衡所需物品的总重量最轻,一个天平平衡当且仅当“左端点的重量*左端点到支点的距离=右端点的重量*右端点到支点的距离”。

合集下载

NOIP2014普级组复赛试题

NOIP2014普级组复赛试题

CCF全国信息学奥林匹克联赛(NOIP2014)复赛普及组(请选手务必仔细阅读本页内容)一.题目概况中文题目名称珠心算测试比例简化螺旋矩阵子矩阵英文题目与子目录名count ratio matrix submatrix 可执行文件名count ratio matrix submatrix 输入文件名count.in ratio.in matrix.in submatrix.in 输出文件名count.out ratio.out matrix.out submatrix.out 每个测试点时限1秒1秒1秒1秒测试点数目10 10 10 20 每个测试点分值10 10 10 5 附加样例文件有有有有结果比较方式全文比较(过滤行末空格及文末回车)题目类型传统传统传统传统运行内存上限128M 128M 128M 128M二.提交源程序文件名对于C++语言count.cpp ratio.cpp matrix.cpp submatrix.cpp 对于C语言count.c ratio.c matrix.c submatrix.c 对于pascal语言count.pas ratio.pas matrix.pas submatrix.pas三.编译命令(不包含任何优化开关)对于C++语言g++ -o countcount.cpp -lm g++ -o ratioratio.cpp -lmg++ -o matrixmatrix.cpp -lmg++ -o submatrixsubmatrix.cpp -lm对于C语言gcc -o countcount.c -lm gcc -o ratio ratio.c-lmgcc -o matrixmatrix.c -lmgcc -o submatrixsubmatrix.c -lm对于pascal语言fpc count.pas fpc ratio.pas fpc matrix.pas fpc submatrix.pas注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。

2014noip复赛模拟练习27

2014noip复赛模拟练习27

1. 被7整除描述:要求输出从1到n(1<=n<=10^6),有多少个整数n,满足2^n-n^2能被7整除输入格式Input Format 一个数n输出格式Output Format 一个数,即满足的个数样例输入2样例输出12. 在A、B两个城市之间设有N个路站(如下图中的S1,且N<100),城市与路站之间、路站和路站之间各有若干条路段(各路段数<=20,且每条路段上的距离均为一个整数)。

A,B的一条通路是指:从A出发,可经过任一路段到达S1,再从S1出发经过任一路段,…最后到达B。

通路上路段距离之和称为通路距离(最大距离<=1000)。

当所有的路段距离给出之后,求出所有不同距离的通路个数(相同距离仅记一次)。

例如:下图所示是当N=1时的情况:从A到B的通路条数为6,但因其中通路5+5=4+6,所以满足条件的不同距离的通路条数为5。

3. 一台打字机准备将1到10^n的数依次打出。

在打印过程中,这台打字机出现了一个故障:数字“3”打不出来。

因此,所有含有数字“3”的数都没有被正确地打出。

试问没有被正确打出的数一共有多少个。

输入数据输入一个正整数n。

输出数据输出从1到10^n这些数中不能被正确打印的数的个数。

输入样例2输出样例19数据规模n<=10004. 问题描述: 选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。

输入数据输入一个正整数S。

输出数据输出最大的约数之和。

样例输入样例输出9样例说明取数字4和6,可以得到最大值(1+2)+(1+2+3)=9。

数据规模S<=10005. 流感会结束吗?问题描述:八中一共有n个学生。

这n个学生里一共有m对朋友关系。

在流感发作期,每个健康学生都要看望当天他生病的朋友(如果有的话),并在第二天被传染上疾病(除非他在免疫期内);每个生病的学生在第二天都会痊愈,并在这一天具有免疫性。

从第三天起,看望生病的朋友将再次使他染上流感。

2014noip复赛模拟练习29(答案).

2014noip复赛模拟练习29(答案).

辉辉、姗姗和佳佳是好朋友,他们一起参加了在湖南长沙长郡中学举办的第二十一届全国青少年信息学奥林匹克竞赛(NOI2004)。

他们很早就来到了长沙,可是报名还没有开始。

怎么办呢?他们决定分头出去玩一天,晚上回到宿舍以后给大家说说自己这一天做了什么有意义的事情。

你一定想不到辉辉干嘛去了——他睡了一天。

他想:“比赛前几天老是写程序到深夜,头晕晕的……没关系,好好睡一觉,然后我会精神抖擞。

醒了之后,我要做有意义的事情。

”这一睡可不得了,辉辉从早上a点b分c秒一直睡到了下午d点e分f秒。

他睡了多少秒钟呢?六个非负整数a, b, c, d, e, f(1<=a, d<=11, 0<=b, c, e, f<=59)。

例如,a=6, b=5, c=4, d=3, e=2, f=1表示辉辉从06:05:04睡到15:02:01。

【样例输入】6 5 4 3 2 1【样例输出】32217var a,b,c,d,e,f:longint;beginreadln(a,b,c,d,e,f);d:=d+12;writeln((d*3600+e*60+f)-(a*3600+b*60+c));readlnend.将a,b,c,……n个字符,按顺时针方向排成一圈,然后从任意位置开始按顺时针方向连续取k个字符组成一个k位字符串。

(k<n)例如:n=3 k=2 按顺时针方向排成如下一圈:ac b此时,可组成:ab,bc,ca。

当给出n,k后,输出n个k位字符串输入:n k 输出:n个k位字符串输入输出样例:输入:5 4 输出:abcdbcdecdeadeabeabcvar n,k,i,j,a,b: longint;begin readln(n,k);for i:=1 to n dobegina:=i;b:=0;for j:=1 to k dobeginwrite(chr(96+a));if a+1<>n then a:=(a+1) mod nelse a:=n;end;writeln;end;readln;end.问题描述:计算机软件版本通常被用来区分某种软件在不同时间的发布。

2014noip复赛模拟练习31

2014noip复赛模拟练习31

1. 数字反转(reverse.pas)【问题描述】给定一个整数,请将该数各个位上数字反转得到一个新数。

新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。

(参见样例2)【输入】输入文件名为reverse.in。

输入共一行,一个整数n。

【输出】输出文件名为reverse.out。

输出共一行,一个整数,表示反转后的新数。

【输入输出样例1】reverse.in reverse.out123 321【输入输出样例2】reverse.in reverse.out-380 -83【数据范围】 -1,000,000,000≤N≤1,000,000,000。

2. 查找“支撑数”【试题描述】在已知一组整数中,有这样一种数非常怪,它们不在第一个,也不在最后一个,而且刚好都比左边和右边相邻的数大,你能找到它们吗?每行输出5项。

【输入描述】第一行为整数m,表示输入的整数个数。

(3<= m <=100 )第二行为m个整数。

【输出描述】若干个支撑数【输入样例】141 32 4 1 53 9 7 10 8 23 85 43【输出样例】3 4 5 9 10853. 编程即将上课,为了能让每个同学都能拿到教材,老师让star去发教材,由于star比较内向,见到不认识的新同学你会害羞得什么话也不和他说,什么事情也不对他做,当然更不可能发书给他了。

怎么办呢?老师的任务不能不完成啊!当然,遇到star认识的同学star还是很乐意交流的,于是star会要求他认识的同学继续帮他发书(不管对方认不认识他),star害羞的情绪也影响了其他所有同学,于是其他同学也只会发书给他认识的人。

最后star要统计还有哪些同学没有拿到书,他就只能硬着头皮,顶着极大地心理压力给他们发书(老师的任务一定要完成啊)所有的学生都用学号来表示。

Input第1行:三个数k,n,m(k代表你的学号,n代表人数,m代表关系数n(n<250)和m(m<10000)第2..m+1行: 每行两个数a和b代表a认识b,(不代表b认识a)同一行的a,b不会相同Output第1行: 所有没有拿到教材的同学的学号,学号从小到大排列。

2014NOIP复赛模拟练习23(附答案)

2014NOIP复赛模拟练习23(附答案)

XJL很喜欢解密,一天他无聊,打了个电话给LZP,LZP给了一大堆数字串,并且附上了翻译表。

于是,XJL开始了他的翻译旅程。

不过他一个人闲得无聊,于是叫上你一起做一个程序来翻译这些密码。

程序要求:1、从文件(XJL.IN) 读入数据。

第一行是一个数字n,接下来n行是密码翻译表。

每行一个翻译方式,每行开头是一串字符,接着是它的对应的数字串(长度不超过5个数字)。

第n+2行是一个空行。

第n+3行是要翻译的字符串的长度s,第n+4行为要翻译的数字串,长度为s。

2、把结果输出到文件(XJL.OUT)。

如果能翻译,则输出文件第一行为翻译后的字符串长度,第二行为翻译后的字符串。

否则只在第一行输出“ERROR”(不含双引号)。

范例数据:输入文件XJL.IN3He:123llo:456!:771234567输出文件XJL.OUT6Hello!var s,fs,s1,s2:string;ss:array[1..10000,1..2]of string;n,i,j,k,l:longint;begins:='';readln(n);for i:=1 to n do beginreadln(s);k:=pos(':',s);ss[i,1]:=copy(s,1,k-1);delete(s,1,k);ss[i,2]:=s;end;readln(l);readln(s);for i:=1 to length(s) do begins1:=s1+s[i];for j:=1 to n do if(s1=ss[j,2])then beginfs:=fs+ss[j,1];s1:='';end;end;if(fs='')then writeln('ERROR')else beginwriteln(length(fs));writeln(fs);end;end.猫猫的小鱼:题目描述。

noip2014普及组复赛题解

noip2014普及组复赛题解

1.珠心算测验注意看清题意:其中有多少个数,恰好等于集合中另外两个(不同的)数之和。

这样的题意加上100的规模,建议暴力3个for:#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;int n;int a[105];int main(){freopen("count.in","r",stdin);freopen("count.out","w",stdout);scanf("%d",&n);for(int i=1; i<=n; i++){scanf("%d",&a[i]);}sort(a+1,a+n+1);int res=0;for(int i=1; i<=n; i++){int ok=0;for(int j=1; j<=n && !ok; j++) if(j!=i){for(int k=1; k<=n && !ok; k++) if(a[k]!=a[j]){if(a[j]+a[k]==a[i]) ok=1;}}res+=ok;}printf("%d\n",res);return 0;}2.比例简化L很小,还是枚举,然后比较的话建议用乘法比较,避免精度问题:#include<cstdio>#include<cstring>#include<iostream>using namespace std;int A,B,L;int gcd(int a,int b){if(b==0) return a;return gcd(b,a%b);}int main(){freopen("ratio.in","r",stdin);freopen("ratio.out","w",stdout);scanf("%d%d%d",&A,&B,&L);int ba=1000000,bb=1;for(int i=1; i<=L; i++){for(int j=1; j<=L; j++){if(gcd(i,j)==1 && i*B>=j*A){if(ba*j>=bb*i){ba=i, bb=j;}}}}printf("%d %d\n",ba,bb);return 0;}3.螺旋矩阵没一圈的数量有规律的,最外面一圈(n-1)*4,然后每往里n-2,直到后要么只有一个点,要么4个点。

NOIP2014 题解

NOIP2014 题解D1T1 : 生活大爆炸版石头剪刀布(rps)100% : 模拟。

另一种方法,可以先求出na,nb 的最小公倍数l ,在[1,l]的区间里模拟,对于剩下的部分,显然是循环了若干次[1,l]内的胜负情况,并剩余了一小部分,于是只要把两人的分数各自乘n div l,再对剩下的部分模拟即可。

复杂度 : O(na*nb)D1T2 : 联合权值(linp)30% : 穷举三个点,判断是否相邻,再统计权值并更新答案。

复杂度 : O(n^3)60% : 穷举一个点,并以该点为起点搜索,查找距离为2的结点,统计后更新答案。

复杂度 : O(n^2)100% : 记][i fa 为结点i 的父亲, ][i pow 是i 的权值。

题目给出了n 个点,n-1条边,那么这是一棵树。

那么考虑树形dp 。

很显然,距离为2的点在一棵树中有且仅有两种不同的位置,第一种是结点i 与结点]][[i fa fa ,第二种则是结点i 与结点j ,其中][][j fa i fa =。

记∑=][][j pow i sum,]}[{]max[j pow Max i =,其中][j fa i =。

那么有∑∑-+=])[]][[(*][]][[*][*2_j pow j fa sum j pow i fa pow i sum sum ans ,]}[*][]],[[*]{max[max _i y i x i fa pow i Max ans =,其中][],[i y i x 是i 的子节点中权值最大的两个。

复杂度 : O(n)D1T3 : 飞扬的小鸟(bird)30% : 搜索。

70% : 考虑动态规划,记],[j i f 为达到坐标),(j i 至少要点击几次屏幕。

则有]])1[,1[,]]1[*,1[(],[-+-+---=i y j i f k i x k j i f Min j i f ,注意考虑边界情况。

复杂度 : O(nm^2)100% : 上述动态规划超时的原因在于转移复杂度太高,如果能将转移复杂度降为O(1),那么就可以轻松将此题AC ,仔细想想发现对于所有可以用于更新],[j i f 的状态的高度都与j 同余(mod x[i-1]),那么在实际实现上述动态规划时,我们可以先穷举同余系,并以高度从低到高进行动态规划,在同一同余系中,记一个变量temp 为已经访问的状态中可以用于更新的最小值,每穷举到一个新的状态,把temp 更新为]),1[,1(j i f temp Min -+,并且只用temp+1更新其他状态。

noip普及组复赛模拟试题29

一、从一张长A毫米、宽B毫米的长方形纸片上剪下尽可能大的正方形,如果剩下的部分不是正方形,就在剩下的纸片上再裁下一个尽可能大的正方形,……,求裁剪的第N 个正方形的边长?A、B、N(1≤A,B≤30000,1≤N≤100)用键盘输入。

输入输出样例:输入:A,B,N=9 5 2↙输出:4输入:A,B,N=6 4 4↙输出:2二、所谓H数,是指该数除1以外最多只有2,3,5,7四种因子,如630即为H数,而22不是。

要求对键盘输入的自然数N,求出第N个H数。

如N=30,应输出49。

规定要求的H数不超出长整型数的范围。

三、某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。

期末,每个学生都有3门课的成绩:语文、数学、英语。

先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。

任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出前5名学生的学号和总分。

注意,在前5名同学中,每个人的奖学金都不相同,因此,你必须严格按上述规则排序。

例如,在某个正确答案中,如果前两行的输出数据(每行输出两个数:学号、总分)是:7 279 5 279这两行数据的含义是:总分最高的两个同学的学号依次是7号、5号。

这两名同学的总分都是279(总分等于输入的语文、数学、英语三科成绩之和),但学号为7的学生语文成绩更高一些。

如果你的前两名的输出数据是:5 279 7 279则按输出错误处理,不能得分。

【输入】输入文件scholar.in包含n+1行:第1行为一个正整数n,表示该校参加评选的学生人数。

第2到n+1行,每行有3个用空格隔开的数字,每个数字都在0到100之间。

第j行的3个数字依次表示学号为j-1的学生的语文、数学、英语的成绩。

每个学生的学号按照输入顺序编号为1~n(恰好是输入数据的行号减1)。

2014noip普及组复赛测试(答案)

老师给笑笑布置了一份作业,笑笑不知如何解决。

老师给了一串很长的数列,要求从中找出连续的一段来使的总和最大。

【输入文件】:第一行包含一个整数n,表示数列的长度。

(n<=100000)第二行包含n个整数来描述这个数列,每个整数的的绝对值不超过1000。

【文件输出】:文件中只有一个整数,为最大的连续段总和。

【输入样例】:51 -23 1 -4【输出样例】4vars:array[1..10000] of longint;n,ii,t,ans:longint;beginreadln(n);for i:=1 to n doread(s[i]);t:=s[1];ans:=s[1];for i:=2 to n dobeginif t<0 then t:=s[i] else t:=t+s[i];if t>ans then ans:=t;end;writeln(ans);end.输入61 5 4 -2 63 输出17输入1024 -12 9 11 7 20 -8 15 3 18 输出87输入710 8 9 -5 12 6 11 输出51输入205 12 19 20 -7 -6 18 22 19 8 11 33 15 32 17 -30 4 14 24 -13输出230【问题描述】鲁宾逊先生有一只宠物猴,名叫多多。

这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。

鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。

在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格(如图1)。

有经验的多多一眼就能看出,每棵花生植株下的花生有多少。

为了训练多多的算术,鲁宾逊先生说:“你先找出花生最多的植株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生;依此类推,不过你一定要在我限定的时间内回到路边。

”我们假定多多在每个单位时间内,可以做下列四件事情中的一件:1)从路边跳到最靠近路边(即第一行)的某棵花生植株;2)从一棵植株跳到前后左右与之相邻的另一棵植株;3)采摘一棵植株下的花生;4)从最靠近路边(即第一行)的某棵花生植株跳回路边。

2014NOIP测试题历年试题

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

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

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

从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‚从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事....’‛A. 枚举B. 递归C. 贪心D. 分治4.1948 年,()将热力学中的熵引入信息通信领域,标志着信息论研究的开端。

A. 冯·诺伊曼(John von Neumann)B. 图灵(Alan Turing)C. 欧拉(Leonhard Euler)D. 克劳德·香农(ClaudeShannon)5.已知一棵二叉树有2013 个节点,则其中至多有()个节点有2 个子节点。

A. 1006B. 1007C. 1023D. 10246.在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通图。

右图是一个有5 个顶点、8 条边的连通图。

若要使它不再是连通图,至少要删去其中的()条边。

A. 2B. 3C. 4D. 57.斐波那契数列的定义如下:F1 = 1, F2 = 1, Fn = Fn –1 + Fn –2 (n ≥3)。

如果用下面的函数计算斐波那契数列的第n 项,则其时间复杂度为()。

int F(int n){if (n <= 2)return 1;elsereturn F(n - 1) + F(n - 2);}A. O(1)B. O(n)C. O(n2)D. O(Fn)8.二叉查找树具有如下性质:每个节点的值都大于其左子树上所有节点的值、小于其右子树上所有节点的值。

那么,二叉查找树的()是一个有序序列。

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