文档库 最新最全的文档下载
当前位置:文档库 › 第二十四届全国青少年信息学奥林匹克联赛初赛提高组试题答案

第二十四届全国青少年信息学奥林匹克联赛初赛提高组试题答案

第二十四届全国青少年信息学奥林匹克联赛初赛提高组试题答案
第二十四届全国青少年信息学奥林匹克联赛初赛提高组试题答案

第二十四届全国青少年信息学奥林匹克联赛初赛——提高组C++语言试题

一、单项选择题(共10 题,每题2 分,共计20 分;每题有且仅有一个正确选项)

1. 下列四个不同进制的数中,与其它三项数值上不相等的是()。

A. (269)16

B. (617)10

C. (1151)8

D. (1001101011)2

2. 下列属于解释执行的程序设计语言是()。

A. C

B. C++

C. Pascal

D. Python

3. 中国计算机学会于()年创办全国青少年计算机程序设计竞赛。

A. 1983

B. 1984

C. 1985

D. 1986

4. 设根节点深度为0,一棵深度为h 的满k(k>1)叉树,即除最后一层无任何子节点外,每一层上的所有结点都有k 个子结点的树,共有()个结点。

A. (k h+1 - 1) / (k - 1)

B. k h-1

C. k h

D. (k h-1) / (k - 1)

5. 设某算法的时间复杂度函数的递推方程是T(n) = T(n - 1) + n(n 为正整数)及T(0) = 1,则该算法的时间复杂度为()。

A. O(log n)

B. O(n log n)

C. O(n)

D. O(n2)

6. 表达式a * d - b * c 的前缀形式是()。

A. a d * b c * -

B. - * a d * b c

C. a * d - b * c

D. - * * a d b c

7. 在一条长度为1 的线段上随机取两个点,则以这两个点为端点的线段的期望长度是()。

A. 1 / 2

B. 1 / 3

C. 2 / 3

D. 3 / 5

8. 关于Catalan 数Cn = (2n)! / (n + 1)! / n!,下列说法中错误的是()。

A. Cn 表示有n + 1 个结点的不同形态的二叉树的个数。

B. Cn 表示含n 对括号的合法括号序列的个数。

C. Cn 表示长度为n 的入栈序列对应的合法出栈序列个数。

D. Cn 表示通过连接顶点而将n + 2 边的凸多边形分成三角形的方法个数。

9. 假设一台抽奖机中有红、蓝两色的球,任意时刻按下抽奖按钮,都会等概率获得红球或蓝球之一。有足够多的人每人都用这台抽奖机抽奖,假如他们的策略均为:抽中蓝球则继续抽球,抽中红球则停止。最后每个人都把自己获得的所有球放到一个大箱子里,最终大箱子里的红球与蓝球的比例接近于

()。

A. 1 : 2

B. 2 : 1

C. 1 : 3

D. 1 : 1

10. 为了统计一个非负整数的二进制形式中1 的个数,代码如下:

int CountBit(int x)

{

int ret = 0;

while (x)

{

ret++;

________;

}

return ret;

}

则空格内要填入的语句是()。

A. x >>= 1

B. x &= x - 1

C. x |= x >> 1

D. x <<= 1

二、不定项选择题(共5 题,每题2 分,共计10 分;每题有一个或多个正确选项,多选或少选均不得分)

1. NOIP 初赛中,选手可以带入考场的有()。

A. 笔

B. 橡皮

C. 手机(关机)

D. 草稿纸

2. 2-3 树是一种特殊的树,它满足两个条件:

(1)每个内部结点有两个或三个子结点;

(2)所有的叶结点到根的路径长度相同。

如果一棵2-3 树有10 个叶结点,那么它可能有()个非叶结点。

A. 5

B. 6

C. 7

D. 8

3. 下列关于最短路算法的说法正确的有()。

A. 当图中不存在负权回路但是存在负权边时,Dijkstra 算法不一定能求出源点到所有点的最短路。

B. 当图中不存在负权边时,调用多次Dijkstra 算法能求出每对顶点间最短路径。

C. 图中存在负权回路时,调用一次Dijkstra 算法也一定能求出源点到所有点的最短路。

D. 当图中不存在负权边时,调用一次Dijkstra 算法不能用于每对顶点间最短路计算。

4. 下列说法中,是树的性质的有()。

A. 无环

B. 任意两个结点之间有且只有一条简单路径

C. 有且只有一个简单环

D. 边的数目恰是顶点数目减1

5. 下列关于图灵奖的说法中,正确的有()。

A. 图灵奖是由电气和电子工程师协会(IEEE)设立的。

B. 目前获得该奖项的华人学者只有姚期智教授一人。

C. 其名称取自计算机科学的先驱、英国科学家艾伦·麦席森·图灵。

D. 它是计算机界最负盛名、最崇高的一个奖项,有“计算机界的诺贝尔奖”之称。

三、问题求解(共2 题,每题5 分,共计10 分)

1. 甲乙丙丁四人在考虑周末要不要外出郊游。

已知①如果周末下雨,并且乙不去,则甲一定不去;②如果乙去,则丁一定去;

③如果丙去,则丁一定不去;④如果丁不去,而且甲不去,则丙一定不去。如果周末丙去了,则甲________(去了/没去)(1 分),乙________(去

了/没去)(1 分),丁________(去了/没去)(1 分),周末________(下雨/没下雨)(2 分)。

2. 方程 a*b = (a or b) * (a and b),在 a,b 都取 [0, 31] 中的整数时,共有_____组解。(*表示乘法;or 表示按位或运算;and 表示按位与运算)

四、阅读程序写结果(共4 题,每题8 分,共计32 分)

1. #include

int main() {

int x;

scanf("%d", &x);

int res = 0;

for (int i = 0; i < x; ++i) { if (i * i % x == 1) {

++res;

}

}

printf("%d", res);

return 0;

}

输入:15

输出:_________

2. #include

int n, d[100];

bool v[100];

int main() {

scanf("%d", &n);

for (int i = 0; i < n; ++i) { scanf("%d", d + i);

v[i] = false;

}

int cnt = 0;

for (int i = 0; i < n; ++i) {

if (!v[i]) {

for (int j = i; !v[j]; j = d[j]) { v[j] = true;

}

++cnt;

}

}

printf("%d\n", cnt);

return 0;

}

输入:10 7 1 4 3 2 5 9 8 0 6

输出:_________

3. #include

using namespace std;

string s;

long long magic(int l, int r) {

long long ans = 0;

for (int i = l; i <= r; ++i) {

ans = ans * 4 + s[i] - 'a' + 1;

}

return ans;

}

int main() {

cin >> s;

int len = s.length();

int ans = 0;

for (int l1 = 0; l1 < len; ++l1) {

for (int r1 = l1; r1 < len; ++r1) {

bool bo = true;

for (int l2 = 0; l2 < len; ++l2) {

for (int r2 = l2; r2 < len; ++r2) {

if (magic(l1, r1) == magic(l2, r2) && (l1 != l2 || r1 != r2)) {

bo = false;

}

}

}

if (bo) {

ans += 1;

}

}

}

cout << ans << endl;

return 0;

}

输入:abacaba

输出:_________

4. #include

using namespace std;

const int N = 110;

bool isUse[N];

int n, t;

int a[N], b[N];

bool isSmall() {

for (int i = 1; i <= n; ++i)

if (a[i] != b[i]) return a[i] < b[i];

return false;

}

bool getPermutation(int pos) {

if (pos > n) {

return isSmall();

}

for (int i = 1; i <= n; ++i) {

if (!isUse[i]) {

b[pos] = i; isUse[i] = true;

if (getPermutation(pos + 1)) {

return true;

}

isUse[i] = false;

}

}

return false;

}

void getNext() {

for (int i = 1; i <= n; ++i) {

isUse[i] = false;

}

getPermutation(1);

for (int i = 1; i <= n; ++i) {

a[i] = b[i];

}

}

int main() {

scanf("%d%d", &n, &t);

for (int i = 1; i <= n; ++i) {

scanf("%d", &a[i]);

}

for (int i = 1; i <= t; ++i) {

getNext();

}

for (int i = 1; i <= n; ++i) {

printf("%d", a[i]);

if (i == n) putchar('\n'); else putchar(' '); }

return 0;

}

输入1:6 10 1 6 4 5 3 2

输出1:_________(3 分)

输入2:6 200 1 5 3 4 2 6

输出2:_________(5 分)

五、完善程序(共2 题,每题14 分,共计28 分)

1. 对于一个1到

下列程序读入了排列

数据范围1 ≤

#include

using namespace std;

const int N = 100010;

int n;

int L[N], R[N], a[N];

int main() {

cin >> n;

for (int i = 1; i <= n; ++i) {

int x;

cin >> x;

(1) ;

}

for (int i = 1; i <= n; ++i) {

R[i] = (2) ;

L[i] = i - 1;

}

for (int i = 1; i <= n; ++i) {

L[ (3) ] = L[a[i]];

R[L[a[i]]] = R[ (4) ];

}

for (int i = 1; i <= n; ++i) {

cout << (5) << " ";

}

cout << endl;

return 0;

}

2. 一只小猪要买N 件物品(N 不超过1000)。它要买的所有物品在两家商店里都有卖。第i 件物品在第一家商店的价格是a[i],在第二家商店的价格是b[i],两个价格都不小于0 且不超过10000。如

果在第一家商店买的物品的总额不少于50000,那么在第一家店买的物品都可以打95 折(价格变为原来的0.95 倍)。

求小猪买齐所有物品所需最少的总额。

输入:第一行一个数N。接下来N 行,每行两个数。第i 行的两个数分别代

表a[i],b[i]。

输出:输出一行一个数,表示最少需要的总额,保留两位小数。

试补全程序。(第一空2 分,其余3 分)

#include

#include

using namespace std;

const int Inf = 1000000000;

const int threshold = 50000;

const int maxn = 1000;

int n, a[maxn], b[maxn];

bool put_a[maxn];

int total_a, total_b;

double ans;

int f[threshold];

int main() {

scanf("%d", &n);

total_a = total_b = 0;

for (int i = 0; i < n; ++i) {

scanf("%d%d", a + i, b + i);

if (a[i] <= b[i]) total_a += a[i];

else total_b += b[i];

}

ans = total_a + total_b;

total_a = total_b = 0;

for (int i = 0; i < n; ++i) {

if ( (1) ) {

put_a[i] = true;

total_a += a[i];

} else {

put_a[i] = false;

total_b += b[i];

}

}

if ( (2) ) {

printf("%.2f", total_a * 0.95 + total_b);

return 0;

}

f[0] = 0;

for (int i = 1; i < threshold; ++i)

f[i] = Inf;

int total_b_prefix = 0;

for (int i = 0; i < n; ++i)

if (!put_a[i]) {

total_b_prefix += b[i];

for (int j = threshold - 1; j >= 0; --j) {

if ( (3) >= threshold && f[j] != Inf)

ans = min(ans, (total_a + j + a[i]) * 0.95

+ (4) );

f[j] = min(f[j] + b[i], j >= a[i] ? (5) : Inf); }

}

printf("%.2f", ans); return 0;

}

参考答案:

2008年全国青少年信息学奥林匹克竞赛获奖名单

2008年全国青少年信息学奥林匹克竞赛获奖名单 一等奖 姓名学校姓名学校 曹钦翔上海中学梅诗珂合肥一中 高逸涵清华附中张昆玮山西省实验中学贾志豪石家庄二中李骥扬石家庄二中 罗穗骞华南师大附中董华星绍兴一中 漆子超长沙雅礼中学汤可因福州八中 姜碧野中山纪念中学刘聪山东青岛二中 方展鹏中山一中金斌江苏省常州高级中学毛杰明南京外国语学校周而进绍兴一中 徐持衡温州中学骆可强成都七中 武森石家庄二中徐源盛长沙市一中 二等奖 姓名学校姓名学校 罗韬威长沙长郡中学吕潇山东师大附中 覃亮柳州高级中学李博闻东北师大附中 林舒福州三中何思博中山一中 赖陆航杭州二中刘思壮唐山一中 唐浩师大附中商静波绍兴一中 李尔坦蚌埠二中马文萱成都七中 邹逊蚌埠九中冀崇恩山大附中 陈键飞山东师大附中隋清宇天津耀华中学 严枭华东师大二附中张超哈尔滨市第三中学谭睿巴蜀中学胡正一南昌第二中学 杨晶江苏省常州高级中学杜江帆山东寿光现代中学潘宇超绍兴一中孙征杭州二中 寿鹤鸣合肥一中刘鹰长沙雅礼中学 李恺威杭州学军中学崔万云河南师大附中分校刘骏重庆一中周小博华东师大二附中黄相如武钢三中王寿临高中学 张晓然丹东四中 三等奖 姓名学校姓名学校

强瑞鑫山西省实验中学何博硕人大附中 韩文轩香港培正中学杜若飞大庆市第一中学刘艺成大庆市实验中学李聪重庆八中 吴沛凡江苏省常州高级中学陈凤娇八一中学 吕伟聪南京外国语学校钟晓辉海南侨中 蒋立绍兴一中何新骥成都大湾中学 杨欢天津南开中学孙天佑哈尔滨市第三中学沙渺吉林省实验中学张程山东师大附中 韦人柳州高级中学邵林博杭州学军中学 李欣彤成都七中曹瑞晴上海中学 李博放绵阳南山中学王亚盛兰州一中 何洋常州一中王華溪濠江中学 王东生东北育才学校史沛郑州101中学 陈曦仑吉林一中张瀚天人大附中 谢怡然北江中学陈柏熙香港培正中学 朱虹宇福州一中贾骏超西安市高新一中陈宇澄成都七中张嘉然石家庄二中 喻展芜湖安师大附中王仪康重庆一中 陈庆鹏新余市第四中学江沄柳州高级中学 代明昊华南师大附中王士玮海南中学 杨睿武钢三中邱堃武汉二中 张蕾长沙长郡中学白彦博西安市第八十三中学李佩谦东北师大附中罗维汉香港培正中学 王一帆人大附中周绪刚华中师大附中 赵灿辉天津耀华中学

第十六届青少年信息学奥林匹克联赛初赛试题(附答案)

第十六届全国青少年信息学奥林匹克联赛初赛试题 (普及组Pascal语言两小时完成) 一、单项选择题(共20题,每题1.5分,共计30分。每题有且仅有一个正确选项。) 1.2E+03表示()。 A.2.03 B.5 C.8 D.2000 2.一个字节(byte)由()个二进制组成。 A.8 B.16 C.32 D.以上都有可能 3.以下逻辑表达式的值恒为真的是()。 A.P∨(┓P∧Q)∨(┓P∧┓Q) B.Q∨(┓P∧Q)∨(P∧┓Q) C.P∨Q∨(P∧┓Q)∨(┓P∧Q) D.P∨┓Q∨(P∧┓Q)∨(┓P∧┓Q) 4.Linux下可执行文件的默认扩展名是()。 A.exe https://www.wendangku.net/doc/ea5735093.html, C.dll D.以上都不是 5.如果树根算第1层,那么一颗n层的二叉树最多有()个结点。 A.2n-1 B.2n C.2n+1 D.2n+1 6.提出“存储程序”的计算机工作原理的是()。 A.克劳德?香农 B.戈登?摩尔 C.查尔斯?巴比奇 D.冯?诺依曼 7.设X、Y、Z分别代表三进制下的一个数字,若等式XY+ZX=XYX在三进制下成立,那么同样在三进制下,等式XY*ZX=()也成立。 A.YXZ B.ZXY C.XYZ D.XZY 8.Pascal语言、C语言和C++语言都属于()。 A.面向对象语言 B.脚本语言 C.解释性语言 D.编译性语言 9.前缀表达式“+3*2+512”的值是()。 A.23 B.25 C.37 D.65 10.主存储器的存取速度比中央处理器(CPU)的工作速度慢的多,从而使得后者的效率受到影响。而根据局部性原理,CPU所访问的存储单元通常都趋于一个较小的连续区域中。于是,为了提高系统整体的执行效率,在CPU中引入了()。 A.寄存器 B.高速缓存 C.闪存 D.外存 11.一个字长为8位的整数的补码是11111001,则它的原码是()。 A.00000111 B.01111001 C.11111001 D.10000111 12.基于比较的排序时间复杂度的下限是(),其中n表示待排序的元素个数。 A.O(n) B.O(n log n) C.O(log n) D.O(n2) 13.一个自然数在十进制下有n位,则它在二进制下的位数与()最接近。 A.5n B.n*log210 C.10*log2n D.10n log2n 14.在下列HTML语句中,可以正确产生一个指向NOI官方网站的超链接的是()。 A.欢迎访问NOI网站 B.欢迎访问NOI网站 C.http://www.noi,cn D.欢迎访问NOI网站 15.元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。如果第1个出栈的是R3,那么第5个出栈的不可能是()。 A.R1 B.R2 C.R4 D.R5 16.双向链表中有两个指针域llink和rlink,分别指向该结点的前驱及后继。设p指向链表

NOIP2017全国青少年信息学奥林匹克联赛提高组初赛试题卷答案解析

NOIP 2017全国青少年信息学奥林匹克联赛提高组初赛试题答案 一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确选项) 1. 从( )年开始,NOIP 竞赛将不再支持 Pascal 语言。 A. 2020 B. 2021 C. 2022 D. 2023 2.在 8 位二进制补码中,10101011 表示的数是十进制下的( )。 A. 43 B. -85 C. -43 D.-84 3.分辨率为 1600x900、16 位色的位图,存储图像信息所需的空间为( )。 A. 2812.5KB B. 4218.75KB C. 4320KB D. 2880KB 4. 2017年10月1日是星期日,1949年10月1日是( )。 A. 星期三 B. 星期日 C. 星期六 D. 星期二 5. 设 G 是有 n 个结点、m 条边(n ≤m)的连通图,必须删去 G 的( )条边,才能使得 G 变成一棵树。 A.m–n+1 B. m-n C. m+n+1 D.n–m+1 6. 若某算法的计算时间表示为递推关系式: T(N)=2T(N/2)+NlogN T(1)=1 则该算法的时间复杂度为( )。 A.O(N) B.O(NlogN) C.O(N log2N) D.O(N2) 7. 表达式a * (b + c) * d的后缀形式是()。 A. abcd*+* B. abc+*d* C. a*bc+*d D. b+c*a*d 8. 由四个不同的点构成的简单无向连通图的个数是( )。

A. 32 B. 35 C. 38 D. 41 9. 将7个名额分给4个不同的班级,允许有的班级没有名额,有( )种不同的分配方案。 A. 60 B. 84 C. 96 D.120 10. 若f[0]=0, f[1]=1, f[n+1]=(f[n]+f[n-1])/2,则随着i的增大,f[i]将接近与( )。 A. 1/2 B. 2/3 D. 1 11. 设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。 A. n2 B. nlogn C. 2n D.2n-1 12. 在n(n>=3)枚硬币中有一枚质量不合格的硬币(质量过轻或质量过重),如果只有一架天平可以用来称重且称重的硬币数没有限制,下面是找出这枚不合格的硬币的算法。请把 a-c三行代码补全到算法中。 a. A XUY b. A Z c. n |A| 算法Coin(A,n) 1. k n/3 2. 将A中硬币分成X,Y,Z三个集合,使得|X|=|Y|=k, |Z|=n-2k 3. if W(X)≠W(Y) //W(X), W(Y)分别为X或Y的重量 4. then_______ 5. else_______ 6. __________ 7. if n>2 then goto 1 8. if n=2 then 任取A中1枚硬币与拿走硬币比较,若不等,则它不合格;若相等,则A 中剩下的硬币不合格 9. if n=1 then A中硬币不合格 正确的填空顺序是( )。 A. b,c,a B. c,b,a C. c,a,b D.a,b,c 13. 在正实数构成的数字三角形排列形式如图所示,第一行的数为a11;第二行的数从左到右依次为a21,a22;…第n行的数为an1,an2,…,ann。从a11开始,每一行的数aij只有两条边可以分别通向下一行的两个数a(i+1)j和a(i+1)(j+1)。用动态规划算法找出一条从a11向下通到an1,an2,…,ann中某个数的路径,使得该路径上的数之和达到最大。

青少年中学生信息学奥赛试题精选33题(附带题解)

青少年中学生信息学奥赛试题精选33题(附带题解) 第1~10题为基础题,第11~20题为提高题,第21~33为综合题 基础题: 【1 Prime Frequency】 【问题描述】 给出一个仅包含字母和数字(0-9, A-Z 以及a-z)的字符串,请您计算频率(字符出现 的次数),并仅报告哪些字符的频率是素数。 输入: 输入的第一行给出一个整数T( 0

双素数(Twin Primes)是形式为(p, p+2),术语“双素数”由Paul St?ckel (1892-1919)给出,前几个双素数是(3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43)。在本题中请你给出第S对双素数,其中S是输入中给出的整数。 输入: 输入小于10001行,每行给出一个整数S (1≤ S≤ 100000),表示双素数对的序列编号。输入以EOF结束。 输出: 对于输入的每一行,输出一行,给出第S对双素数。输出对的形式为(p1,空格p2),其中“空格”是空格字符(ASCII 32)。本题设定第100000对的素数小于20000000。 样例输入样例输出 1 2 3 4 (3, 5) (5, 7) (11, 13) (17, 19) 注: 试题来源:Regionals Warmup Contest 2002, Venue: Southeast University, Dhaka, Bangl adesh 在线测试:UVA 10394 提示 设双素数对序列为ans[]。其中ans[i]存储第i对双素数的较小素数(1≤i≤num)。ans[]的计算方法如下: 使用筛选法计算出[2,20000000]的素数筛u[]; 按递增顺序枚举该区间的每个整数i:若i和i+2为双素数对(u[i]&&u[i+2]),则双素数对序列增加一个元素(ans[++num]=i)。 在离线计算出ans[]的基础上,每输入一个编号s,则代表的双素数对为(ans[s],ans[s]+ 2)。 【3 Less Prime】 【问题描述】 设n为一个整数,100≤n≤10000,请找到素数x,x≤ n,使得n-p*x最大,其中p是整数,使得p*x≤n<(p+1)*x。 输入: 输入的第一行给出一个整数M,表示测试用例的个数。每个测试用例一行,给出一个 整数N,100≤N≤10000。 输出: 2

(noip2019)二十三届全国青少年信息学奥赛初赛试题及答案c++.doc

言简意赅,远见卓识,望君采纳,谢谢!删除水印可,编辑页眉,选中水印,点击删除。 第二十三届全国青少年信息学奥林匹克联赛初赛 普及组 C++ 语言试题 竞赛时间: 2019 年 10 月 14 日 14:30~16:30 选手注意: ●试题纸共有 7 页,答题纸共有 2 页,满分 100 分。请在答题纸上作答,写在试题纸上的一律无效。 ●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。 一、单项选择题(共20 题,每题 1.5 分,共计30 分;每题有且仅有一个正确选项) 1.在 8 位二进制补码中, 10101011 表示的数是十进制下的()。 A. 43 B. -85 C. -43 D. -84 2. 计算机存储数据的基本单位是( A. bit B. Byte C. GB )。 D. KB 3.下列协议中与电子邮件无关的是()。 A. POP3 B. SMTP C. WTO D. IMAP 4. 分辨率为 A. 937.5KB 800x600 、16 位色的位图,存储图像信息所需的空间为( B. 4218.75KB C. 4320KB D. 2880KB )。 5.计算机应用的最早领域是()。 A. 数值计算 B. 人工智能 C. 机器人 D. 过程控制 6.下列不属于面向对象程序设计语言的是 ( A. C B. C++ C. Java D. C# )。 7.NOI 的中文意思是()。 A. 中国信息学联赛 B. 全国青少年信息学奥林匹克竞赛 C. 中国青少年信息学奥林匹克竞赛 D. 中国计算机协会 8.2017 年 10 月 1 日是星期日, 1999 年 10 月 1 日是()。 A. 星期三 B. 星期日 C. 星期五 D. 星期二

2014年衢州市第二十七届青少年信息学竞赛复赛试卷_提高组

衢州市第二十七届青少年信息学竞赛复赛试卷 提高组 (请选手务必仔细阅读本页内容) 二.提交源程序文件名 三.编译命令(不包含任何优化开关) 注意事项: 1、文件名(程序名和输入输出文件名)必须使用英文小写。 2、C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。 3、统一评测时采用的机器配置为:CPU P4 3.0GHz,内存 2G,上述时限以此配置为准。 4、特别提醒:评测在Windows下进行,评测软件为cena8.0。

修补管道 (pipe.pas/c/cpp) 【题目描述】 大陆被分成n*m 的格子,两个城市M 和Z 之间的天然气通过管道相连,管道有以下几种形态: 天然气从城市M 运送到城市Z ,管道是双向的,且对于Block +,天然气必须在两个方向都有流动。如图: 现在有一个格子的管道消失了,你的任务就是找到这个格子以及管道的类型。 【输入格式】 第一行两个数n,m ,中间用一个空格隔开;以下 n 行,每行m 个字符。 '.'表示空格,'|','-','+','1','2','3','4'表示管道的类型。 M 、Z 表示起点和终点。 数据保证只有一个管道口和M 、Z 相邻,这个管道设计中没有废弃管道(也就是说所有管道都必须使用),数据保证答案存在且唯一。 【输出格式】 一行,前两个数表示管道位置,后一个字符表示管道类型。 即(行,列,管道类型),中间用一个空格隔开。 【数据规模】 对于100%的数据:1≤n,m ≤25; 【样例输入1】 3 7 ....... .M-.-Z. ....... 【样例输出1】 2 4 - 【样例输入2】 3 5 ..1-M 1-+.. Z.23. 【样例输出2】 2 4 4

第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题(附答案)

第二十届全国青少年信息学奥林匹克竞赛初赛 提高组C语言试题 一、单项选择题(每题1.5分,共22.5分)。 1. 以下哪个是面向对象的高级语言( ). A. 汇编语言 B. C++ C. FORTRAN D. Basic 2. 1TB代表的字节数量是( ). A. 2的10次方 B. 2的20次方 C. 2的30次方 D. 2的40次方 3. 二进制数00100100和00010101的和是( ). A. 00101000 B. 001010100 C. 01000101 D. 00111001 4. TCP协议属于哪一层协议( ). A. 应用层 B. 传输层 C. 网络层 D. 数据链路层 5. 下列几个32位IP地址中,书写错误的是( ). A. 162.105.128.27 B. 192.168.0.1 C. 256.256.129.1 D. 10.0.0.1 6. 在无向图中,所有定点的度数之和是边数的( )倍. A. 0.5 B. 1 C. 2 D. 4 7. 对长度位n的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为( ). A. n/2 B. (n+1)/2 C. (n-1)/2 D. n/4 8. 编译器的主要功能是( ). A. 将一种高级语言翻译成另一种高级语言 B. 将源程序翻译成指令 C. 将低级语言翻译成高级语言 D. 将源程序重新组合 9. 二进制数111.101所对应的十进制数是( ). A. 5.625 B. 5.5 C. 6.125 D. 7.625 10. 若有变量int a, float x, y, 且a=7, x=2.5, y=4.7, 则表达式x+a%3*(int)(x+y)%2/4的值大约是( ). A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000 11. 有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个续结点。 struct node { data next data next data next int data; struct node *next; ↑p ↑q ↑r } *p,*q,*r; 现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下程序段中错误的是( ). A. q->next = r->next; p-> next = r; r->next = q; B. p->next = r; q->next = r->next; r->next = q; C. q->next = r->next; r->next = q; p->next = r; D. r->next = q; q->next = r->next; p->next = r; 12. 同时查找2n 个数中的最大值和最小值,最少比较次数为( ). A. 3(n-2)/2 B. 4n-2 C. 3n-2 D. 2n-2 13. 设G是有6个结点的完全图,要得到一颗生成树,需要从G中删去( )条边.

第十五届全国青少年信息学奥林匹克联赛初赛试题

第十五届全国青少年信息学奥林匹克联赛初赛试题 (提高组 C++语言二小时完成) ●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●● 一.单项选择题(共10题,每题分,共计15分。每题有且仅有一个正确答案。) 1、关于图灵机下面的说法哪个是正确的: A)图灵机是世界上最早的电子计算机。 B)由于大量使用磁带操作,图灵机运行速度很慢。 C)图灵机只是一个理论上的计算模型。 D)图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作用。 2、关于BIOS下面的说法哪个是正确的: A)BIOS是计算机基本输入输出系统软件的简称。 B)BIOS里包含了键盘、鼠标、声卡、图形界面显器等常用输入输出设备的驱动程序。 C)BIOS一般由操作系统厂商来开发完成。 D)BIOS能提供各种文件拷贝、复制、删除以及目录维护等文件管理功能。 3、已知大写字母A的ASCII编码为65(十进制),则大写字母J的十六进制ASCII编码为: A) 48 B) 49 C) 50 D) 以上都不是 4、在字长为16位的系统环境下,一个16位带符号整数的二进制补码为101。其对应的十进制整数应该是: A)19 B) -19 C) 18 D) -18 5、一个包含n个分支结点(非叶结点)的非空满k叉树,k>=1,它的叶结点数目为: A) nk + 1 B) nk-1 C) (k+1)n-1 D. (k-1)n+1 6. 表达式a*(b+c)-d的后缀表达式是: A) abcd*+-B) abc+*d-C) abc*+d-D) -+*abcd 7、最优前缀编码,也称Huffman编码。这种编码组合的特点是对于较频繁使用的元素给与较短的唯一编 码,以提高通讯的效率。下面编码组合哪一组不是合法的前缀编码。 A)(00,01,10,11) B)(0,1,00,11) C)(0,10,110,111) D)(1,01,000,001) 8、快速排序平均情况和最坏情况下的算法时间复杂度分别为: A) 平均情况O(nlog2n),最坏情况O(n2) B) 平均情况O(n),最坏情况O(n2) C) 平均情况O(n),最坏情况O(nlog2n) D) 平均情况O(log2n),最坏情况O(n2) 9、左图给出了一个加权无向图,从 顶点V0开始用prim算法求最小生成 树。则依次加入最小生成树的顶点 集合的顶点序列为: A) V0, V1, V2, V3, V5, V4 B) V0, V1, V5, V4, V3, V3 C) V1, V2, V3, V0, V5, V4 D) V1, V2, V3, V0, V4, V5

noip2017提高组复赛解题报告

noip2017提高组复赛解题报告 定期推送帐号信息学新闻,竞赛自主招生,信息学专业知识,信息学疑难解答,融科教育信息学竞赛培训等诸多优质内容的微信平台,欢迎分享文章给你的朋友或者朋友圈!以下解题思路及代码未经官方评测,仅供参考,复赛成绩以官方(CCF)评测结果为准。 Day1 1.小凯的疑惑(math.cpp/c/pas)【问题描述】小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。【输入格式】输入文件名为math.in。输入数据仅一行,包含两个正整数a 和b,它们之间用一个空格隔开,表示小凯手中金币的面值。【输出格式】输出文件名为math.out。输出文件仅一行,一个正整数N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。【输入输出样例1】math.in3 7 math.out11【数据规模与约定】对于30%的数据: 1 ≤a,b ≤50。对于60%的数据: 1 ≤a,b ≤10,000。对于100%的数据:1 ≤a,b ≤1,000,000,000。数学太差只找规律吧。

设:其中一个数为2则:2、3=>1;2、5=>3;2、7=>5;2、11=>9得:2、n=>n-2设:其中一个数为3则:3、5=>7;3、7=>11;3、11=>19;3、13=>23得:3、n=>2n-3设:其中一个数为5则:5、7=>23;5、11=>39;5、13=>47;5、17=>63得:5、n=>4n-5所以:m、n=>(m-1)n-m #includeusing namespace std;int main(){ long long a,m,n; scanf('%lld %lld',&m,&n); a=(m-1)*n-m; printf('%lld',a); return 0;} 2.时间复杂度(complexity.cpp/c/pas)【问题描述】小明正在学习一种新的编程语言A++,刚学会循环语句的他激动地写了好多程序并给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序,于是你的机会来啦!下面请你编写程序来判断小明对他的每个程序给出的时间复杂度是否正确。A++语言的循环结构如下:其中“F i x y”表示新建变量(i 变量i 不可与未被销毁的变量重名)并初始化为x,然后判断i 和y 的大小关系,若i 小于等于y 则进入循环,否则不进入。每次循环结束后i都会被修改成i +1,一旦i 大于y 终止循环。x和y 可以是正整数(x 和y 的大小关系不定)或变量n。n 是一个表示数据规模的变量,在时间复杂度计算中需保留该变量而不能将其视为常数,该数远大于100。“E”表示循环体结束。循环体结束时,这个循环体新建的变量也被销毁。注:本题中为了书写方便,在描述复杂度时,使用大

noip2017提高组试题

CCF 全国信息学奥林匹克联赛(NOIP2017)复赛 提高组 day1 (请选手务必仔细阅读本页内容) 1、文件名(程序名和输入输出文件名)必须使用英文小写。 2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。 3、全国统一评测时采用的机器配置为:CPU AMD Athlon(tm) II x2 240 processor,2.8GHz, 内存4G,上述时限以此配置为准。 4、只提供Linux 格式附加样例文件。 5、提交的程序代码文件的放置位置请参照各省的具体要求。 6、特别提醒:评测在当前最新公布的NOI Linux 下进行,各语言的编译器版本以其为准。

【问题描述】1.小凯的疑惑 (math.cpp/c/pas) 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。 【输入格式】 输入文件名为math.in。 输入数据仅一行,包含两个正整数a 和b,它们之间用一个空格隔开,表示小凯手中金币的面值。 【输出格式】 输出文件名为math.out。 输出文件仅一行,一个正整数N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。 见选手目录下的math/math1.in 和math/math1.ans。 【输入输出样例1 说明】 小凯手中有面值为3 和7 的金币无数个,在不找零的前提下无法准确支付价值为1、2、4、5、8、11 的物品,其中最贵的物品价值为11,比11 贵的物品都能买到,比如: 12 = 3 * 4 + 7 * 0 13 = 3 * 2 + 7 * 1 14 = 3 * 0 + 7 * 2 15 = 3 * 5 + 7 * 0 …… 【输入输出样例2】 见选手目录下的math/math2.in 和math/math2.ans。 【数据规模与约定】 对于30%的数据: 1 ≤ a,b ≤ 50。 对于60%的数据: 1 ≤ a,b ≤ 10,000。 对于100%的数据:1 ≤ a,b ≤ 1,000,000,000。

NOIP2017提高组初赛试题及答案

NOIP2017提高组初赛试题及答案 一、单项选择题(共15 题,每题1.5 分,共计22.5 分;每题有且仅有一个正确选项) 1. 从( )年开始,NOIP 竞赛将不再支持Pascal 语言。C A. 2020 B. 2021 C. 2022 D. 2023 2.在8 位二进制补码中,10101011 表示的数是十进制下的( )。B A. 43 B. -85 C. -43 D.-84 3.分辨率为1600x900、16 位色的位图,存储图像信息所需的空间为( )。A A. 2812.5KB B. 4218.75KB C. 4320KB D. 2880KB 4. 2017年10月1日是星期日,1949年10月1日是( )。C A. 星期三 B. 星期日 C. 星期六 D. 星期二 5. 设G 是有n 个结点、m 条边(n ≤m)的连通图,必须删去G 的( )条边,才能使得G 变成一棵树。A A.m–n+1 B. m-n C. m+n+1 D.n–m+1 6. 若某算法的计算时间表示为递推关系式:T(N)=2T(N/2)+NlogN T(1)=1 则该算法的时间复杂度为( )。C A.O(N) B.O(NlogN) C.O(N log2N) D.O(N2) 7. 表达式a * (b + c) * d的后缀形式是()。B A. abcd*+* B. abc+*d* C. a*bc+*d D. b+c*a*d 8. 由四个不同的点构成的简单无向连通图的个数是( )。C A. 32 B. 35 C. 38D. 41 9. 将7个名额分给4个不同的班级,允许有的班级没有名额,有( )种不同的分配方案。D A. 60 B. 84 C. 96 D.120 10. 若f[0]=0, f[1]=1, f[n+1]=(f[n]+f[n-1])/2,则随着i的增大,f[i]将接近与( )。B A. 1/2 B. 2/3 D. 1 11. 设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。D A. n2 B. Nlogn C. 2n D.2n-1 12. 在n(n>=3)枚硬币中有一枚质量不合格的硬币(质量过轻或质量过重),如果只有一架天平可以用来称重且称重的硬币数没有限制,下面是找出这枚不合格的硬币的算法。请把a-c三行代码补全到算法中。 2. 将A中硬币分成X,Y,Z三个集合,使得|X|=|Y|=k, |Z|=n-2k 3. if W(X)≠W(Y) //W(X), W(Y)分别为X或Y的重量 4. then_______ 5. else_______ 6. __________ 7. if n>2 then goto 1 8. if n=2 then 任取A中1枚硬币与拿走硬币比较,若不等,则它不合格;若相等,则A中剩下的硬币不合格 9. if n=1 then A中硬币不合格 正确的填空顺序是( )。D A. b,c,a B. c,b,a C. c,a,b D.a,b,c 13. 在正实数构成的数字三角形排列形式如图所示,第一行的数为a11;第二行的数从左到右依次为a21,a22;…第n行的数为 an1,an2,…,ann。从a11开始,每一行的数aij只有两条边可以分别通向下一行的两个数a(i+1)j和a(i+1)(j+1)。用动态规划算法找出一条从a11向下通到an1,an2,…,ann中某个数的路径,使得该路径上的数之和达到最大。 令C[i,j]是从a11到aij的路径上的数的最大和,并且C[i,0]=C[0,j]=0,则C[i,j]=( )。A A. max{C[i-1,j-1],C[i-1,j]}+aij B. C[i-1,j-1]+c[i-1,j] C. max{C[i-1,j-1],C[i-1,j]}+1 D. max{C[i,j-1],C[i-1,j]}+aij 14. 小明要去南美洲旅游,一共乘坐三趟航班才能到达目的地,其中第1个航班准点的概率是0.9,第2个航班准点的概率为0.8,第3个航班准点的概率为0.9。如果存在第i个(i=1,2)航班晚点,第i+1个航班准点,则小明将赶不上第i+1个航班,旅行失败;除了这种情况,其他情况下旅行都能成功。请问小明此次旅行成功的概率是( )。D

NOIP2016信息学奥赛普及组初赛C++精彩试题及问题详解较完美版

NOIP2016第二十二届全国青少年信息学奥林匹克联赛初赛 普及组C++语言试题 竞赛时间:2016年10月22日14:30~16:30 一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项) 1.以下不是微软公司出品的软件是( )。 A.Powerpoint B.Word C.Excel D. Acrobat Reader 2.如果256种颜色用二进制编码来表示,至少需要( )位。 A.6 B.7 C.8 D.9 3.以下不属于无线通信技术的是( )。 A.蓝牙 B.WiFi C.GPRS D.以太网 4.以下不是CPU生产厂商的是( )。 A.Intel B.AMD C.Microsoft D.IBM 5.以下不是存储设备的是( )。 A.光盘 B.磁盘 C.固态硬盘 D.鼠标 6.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S 和字母键D的顺序循环按键,即CapsLock、A、S、D、CapsLock、A、S、D、……,屏幕上输出的第81个字符是字母( )。 A.A B.S C.D D.a 7.二进制数00101100和00010101的和是( )。 A.00101000 B.01000001 C.01000100 D.00111000 8.与二进制小数0.1相等的八进制数是( )。 A.0.8 B.0.4 C.0.2 D.0.1 9.以下是32位机器和64位机器的区别的是( )。 A.显示器不同 B.硬盘大小不同 C.寻址空间不同 D.输入法不同 10.以下关于字符串的判定语句中正确的是( ) A.字符串是一种特殊的线性表 B.串的长度必须大于零 C.字符串不可以用数组来表示 D.空格字符组成的串就是空串 11.一棵二叉树如右图所示,若采用顺序存储结构,即用一维数组元素存储该二 叉树中的结点(根结点的下标为1,若某结点的下标为i,则其左孩子位于下标2i 处、右孩子位于下标(2i+1)处),则图中所有结点的最大下标为( ) 。 A.6 B.10 C.12 D.15 12.若有如下程序段,其中s、a、b、c均己定义为整型变量,且a、c均己赋值(c大于0)。 s=a; for (b=1;b<=c;b++) s=s+1; 则与上述程序段修改s值的功能等价的赋值语句是( )。 A. s=a+b; B. s=a+c; C. s=s+c; D. s=b+c; 13.有以下程序: #include using namespace std; int main() { int k=4,n=0; while(n

noip2017提高组试题(day1+day2)-Word版

全国信息学奥林匹克联赛(2017)复赛 提高组 1 (请选手务必仔细阅读本页内容) 一.题目概况 注意事项: 1、文件名(程序名和输入输出文件名)必须使用英文小写。 2、中函数 ()的返回值类型必须是,程序正常结束时的返回值必须是 0。 3、全国统一评测时采用的机器配置为: () x2 240 ,2.8, 内存 4G,上述时限以此配置为准。 4、只提供格式附加样例文件。 5、提交的程序代码文件的放置位置请参照各省的具体要求。

6、特别提醒:评测在当前最新公布的下进行,各语言的编译器版本以其为准。

【问题描述】1.小凯的疑惑 () 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。 【输入格式】 输入文件名为。 输入数据仅一行,包含两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯手中金币的面值。 【输出格式】 输出文件名为。 输出文件仅一行,一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。 【输入输出样例 1】 见选手目录下的 1 和 1。 【输入输出样例 1 说明】 小凯手中有面值为3 和7 的金币无数个,在不找零的前提下无法准确支付价值为1、 2、4、5、8、11 的物品,其中最贵的物品价值为 11,比 11 贵的物品都能买到,比如: 12 = 3 * 4 + 7 * 0 13 = 3 * 2 + 7 * 1 14 = 3 * 0 + 7 * 2

2013第十九届全国青少年信息学奥林匹克联赛普及组初赛试题

2013年第十九届全国青少年信息学奥林匹克联赛初赛 普及组Pascal语言试题 一、单项选择题(共20题,每题 1.5分,共计30分;每题有且仅有一个正确选项) 1.一个32位整型变量占用()个字节。 A.4B.8 C.32 D.128 2.二进制数11.01在十进制下是()。 A. 3.25 B. 4.125 C. 6.25 D.11.125 3.下面的故事与()算法有着异曲同工之妙。 从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事........................’” A.枚举 B.递归 C.贪心 D.分治 4.逻辑表达式()的值与变量A的真假无关。 A.(A?B)??A B.(A?B)??B C.(A?B)?(?A?B) D.(A?B)??A?B 5.将(2,6,10,17)分别存储到某个地址区间为0~10的哈希表中,如果哈希函数h(x)=(),将不会产生冲突,其中a mod b表示a除以b的余数。 A.x mod11 B.x2mod11 C.2x mod11 D.[X]mod11,其中[X]表示X下取整 6.在十六进制表示法中,字母A相当于十进制中的()。 A.9 B.10 C.15 D.16 7.下图中所使用的数据结构是()。 8.在Windows资源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是()。 A.用剪切板中的文件替换该文件 B.在该文件所在文件夹中,将该文件克隆一份 C.将该文件复制到剪切板,并保留原文件 D.将该文件复制到剪切板,并删除原文件 9.已知一棵二叉树有10个节点,则其中至多有()个节点有2个子节点。 A.4 B.5 C.6 D.7 10.在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通图。下图是一个有4个顶点、6条边的连通图。若要使它不再是连通图,至少要删去其中的()条边。 A.1 B.2 C.3 D.4 11.二叉树的()第一个访问的节点是根节点。 A.先序遍历 B.中序遍历 C.后序遍历 D.以上都是 12.以A0作为起点,对下面的无向图进行深度优先遍历时,遍历顺序不可能是()。 A.A0,A1,A2,A3 B.A0,A1,A3,A2 C.A0,A2,A1,A3 D.A0,A3,A1,A2 13.IPv4协议使用32位地址,随着其不断被分配,地址资源日趋枯竭。因此,它正逐渐被使用()位地址的IPv6协议所取代。 A.40 B.48 C.64 D.128 14.()的平均时间复杂度为O(n log n),其中n是待排序的元素个数。 A.快速排序 B.插入排序 C.冒泡排序 D.基数排序 15.下面是根据欧几里得算法编写的函数,它所计算的是a和b的()。 function euclid(a,b:longint):longint; begin if b=0then euclid:=a else euclid:=euclid(b,a mod b);

青少年奥林匹克信息学竞赛初级篇题库(完整资料)

此文档下载后即可编辑 青少年奥林匹克信息学竞赛初级篇题库 1.输入10个正整数,计算它们的和,平方和; 2.输入20个整数,统计其中正、负和零的个数; 3.在1——500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数; 4.输出1——999中能被3整除,且至少有一位数字是5的数; 5.输入20个数,求出它们的最大值、最小值和平均值。 6.甲、乙、丙三人共有384本书,先由甲分给乙、丙,所给书数分别等于乙、丙已有的 书数,再由乙分给甲、丙,最后由丙分给甲、乙,分法同前,结果三人图书数相等。 编程求甲、乙、丙三人原各有书多少本? 7.某养金鱼爱好者,决定出售他的金鱼。第一次卖出了全部金鱼的一半加2分之一条金 鱼;第二次卖出剩金鱼的三分之一加三分之一条金鱼;第三次卖出剩金鱼的四分之一 加四分之一条金鱼;第四次卖出剩金鱼的五分之一加五分之一条金鱼,最后还剩11 条。问原来有多少条金鱼?(每次卖的金鱼都是整数条) 8.猴子吃桃子问题:猴子第一天摘下若干个桃子,当即吃了一半还不过瘾,又多吃了一 个;第二天又将剩下的桃子吃掉一半又多吃了一个;以后每天早上都吃了前一天剩下 的一半零一个。到了第十天想再吃时,见只剩下一个桃子,求第一天共摘了多少个桃 子? 9.从键盘输入整数l,统计出边长为整数的周长为l的不等边三角形的个数。 10.输入三个整数,以这三个数为边长,判断是否构成三角形;若构成三角形,进一步 判断它们构的是:锐角三角形或直角三角形或钝角三角形。 11.1*2*3*...*1000结果是一个很大的数,求这个数末尾有多少个连续的零。 12.任意输入两个整数,求这两个整数的最大公约数,并求这两个整数的最小公倍数。 13.一个整数的立方可以表示为两个整数的平方差,如19853=19711052-19691202。 编程:输入一个整数N,自动将其写成N3=X2-Y2。 14.求100以内的所有素数。纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数 仍为素数,再去掉剩下的数的最高位,余下的数还是素数。这样下去一直到最后剩下 的个位数也还是素数。求出所有小于3000的四位的纯粹素数。 15.验证回文数的猜测:左右对称的自然数称回文数。如121,4224,13731等,有人猜 测:从任意一个两位或两位以上的自然数开始,将该数与它的逆序数(如1992的逆 序数是2991)相加,得到一个新数,再用这个新数与它的逆序数相加,不断重复上述 操作,经过若干步的逆序相加之后,总可以得到一个回文数, 例如:从1992开始,1992+2991=4983; 4983+3894=8877;8877+7788=16665; 16665+56661=73326;73326+62337=135663;135663+366531=502194;

NOIP2017_提高组复赛试题day2

CCF全国信息学奥林匹克联赛(NOIP2017)复赛 提高组 day2 (请选手务必仔细阅读本页内容) 注意事项: 1、文件名(程序名和输入输出文件名)必须使用英文小写。 2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。 3、全国统一评测时采用的机器配置为:CPU AMD Athlon(tm) II x2 240 processor,2.8GHz, 内存4G,上述时限以此配置为准。 4、只提供Linux格式附加样例文件。 5、提交的程序代码文件的放置位置请参照各省的具体要求。 6、特别提醒:评测在当前最新公布的NOI Linux下进行,各语言的编译器版本以其为准。

1.奶酪 (cheese.cpp/c/pas) 【问题描述】 现有一块大奶酪,它的高度为h,它的长度和宽度我们可以认为是无限大的,奶酪中间有许多半径相同的球形空洞。我们可以在这块奶酪中建立空间坐标系,在坐标系中,奶酪的下表面为z=0,奶酪的上表面为z=h。 现在,奶酪的下表面有一只小老鼠Jerry,它知道奶酪中所有空洞的球心所在的坐标。如果两个空洞相切或是相交,则Jerry可以从其中一个空洞跑到另一个空洞,特别地,如果一个空洞与下表面相切或是相交,Jerry则可以从奶酪下表面跑进空洞;如果一个空洞与上表面相切或是相交,Jerry则可以从空洞跑到奶酪上表面。 位于奶酪下表面的Jerry想知道,在不破坏奶酪的情况下,能否利用已有的空洞跑到奶酪的上表面去? 空间内两点P1(x1,y1,z1)、P2(x2,y2,z2)的距离公式如下: dist(P1,P2)=√(x1?x2)+(y1?y2)+(z1?z2) 【输入格式】 输入文件名为cheese.in。 每个输入文件包含多组数据。 输入文件的第一行,包含一个正整数T,代表该输入文件中所含的数据组数。 接下来是T组数据,每组数据的格式如下: 第一行包含三个正整数n,h和r,两个数之间以一个空格分开,分别代表奶酪中空洞的数量,奶酪的高度和空洞的半径。 接下来的n行,每行包含三个整数x、y、z,两个数之间以一个空格分开,表示空洞球心坐标为(x,y,z)。 【输出格式】 输出文件名为cheese.out。 输出文件包含T行,分别对应T组数据的答案,如果在第i组数据中,Jerry能从下表面跑到上表面,则输出“Yes”,如果不能,则输出“No”(均不包含引号)。

相关文档
相关文档 最新文档