第五届大赛C语言程序设计预赛

第五届全国ITAT教育工程就业技能大赛预赛试题C语言程序设计一、单选题(共计60题)(1)在下述程序中,if (i>j)语句共执行的次数是()。

Cmain(){ int i=0,j=14,k=2,s=0;for(;;){ i+= k ;if(i>j){ printf(“%d”,s);break ;}s+=i ;}}A、6B、9C、7D、12(2)若要用fopen函数打开一个二进制文件,该文件要既能读也能写,当文件不存在时新建文件,则文件打开方式应是()。

CA、"ab+"B、"rb+"C、"wb+"D、"ab"(3)下列程序的输出结果是()。

Cstruct student{ int a, b, c; };main(){ struct student stu[2]={{2,3,4},{5,6,7}}; int t;t=stu[0].a+stu[1].b%stu[0].c;printf("%d \n",t); }A、0B、1C、4D、5(4)对于浮点型变量f,能实现对f中的值在小数点后第四位进行四舍五入的表达式是()。

CA、f=(f*1000+0.5)/1000.0B、f=(f*1000+0.5)/1000C、f=(int)(f*1000+0.5)/1000.0D、f=(f/1000+0.5)*1000(5)现已定义整型变量int i=1; 执行循环语句“while(i++<5);”后,i的值为()。

CA、1B、5C、6D、以上三个答案均不正确(6)下列程序的输出结果是()。

Cstruct LH{ int n;struct LH *m;}p[4];main(){ int i;for(i=0;i<2;i++){p[i].n=i;p[i].m=&p[i+1];}p[i].m=p;printf(“%d,%d\n”,(p[1].m)->n,p[2].m->n);}A、0,1B、0,2C、0,0D、程序出错(7)下列程序的运行结果是()。

B#include "stdio.h"int f(int a){ switch (a){ case 0:return 0;case 1:case 2:return 1;}return(f(a-2)+f(a-3));}main(){ int b;b=f(9);printf(“%d\n”,b);}A、10B、7C、8D、9(8)以下程序的输出结果是()。

Aint f(int b[],int m,int n){int i,s=1;for(i=m;i<n;i++){b[i]=b[i-1]+b[i+1];s+=b[i]; }return s; }main(){int x,a[]={1,2,3,4,5,6,7,8,9,10};x=f(a,3,5);printf("%d\n",x); }A、23B、26C、42D、35(9)以下程序运行后,输出结果是()。

Cmain(){ char ch[3][4]={"123","456","78"},*p[3];int i;for(i=0;i<3;i++)p[i]=ch[i];for(i=0;i<3;i++)printf("%s",p[i]);}A、123456780B、123 456 780C、12345678D、147(10)桌上有白球和黑球共5个,a、b、c、d、e分别表示这5个球的颜色,取值为0、1分别代表白球、黑球。

则以下能表示a是黑球,其余至少有两个白球的表达式是()。

CA、!a&&(b+c+d+e)==2B、a&&(b+c+d+e)>2C、a&&(b+c+d+e)<=2D、!a&&(b+c+d+e)==3(11)下列程序的输出结果是()。

B#include "stdio.h"int f(int n){ static int k, s;n--;for(k=n; k>0; k--)s += k;return s;}void main(){ int k;k=f(2);printf("(%d, %d)", k, f(k));}A、(3, 3)B、(1, 1)C、(3, 6)D、(6, 12)(12)若有定义:int a,b;char x,y;并有以下输入数据:12 13 AaBb(回车)则能给a赋整数12,给b赋整数13,给x赋字符a,给y赋字符b的正确程序段是()。

D A、scanf(“%d”,&a);scanf(“%d”,&b);x=getchar();y=getchar();B、scanf(“%d%d %c %c”, &a, &b,&x,&y);C、scanf(“%d %d %c %c”, &a,&b,&x,&x,&y,&y);D、scanf(“%d %d %c%c%c%c”,&a,&b,&x,&x,&y,&y);(13)以下对结构体成员的运算结果是()。

D#include <stdio.h>main(){struct st{int x;int y;}cnum[2]={1,3,2,7};printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);}A、0B、1C、3D、6(14)函数f定义如下,执行语句“m=f(5);”后,m的值应为()。

Bint f(int k){ if(k==0||k==1)return 1;else return f(k-1)+f(k-2);}A、3B、8C、5D、13(15)若有以下定义:char s[10]={’a’,’b’,’c’,’0’, ’2’,’\x32’,’\0’,’\123’};执行语句printf(“%d”,strlen(s));的结果是()。

BA、3B、6C、8D、9(16)若i为整型变量,则以下循环执行的次数是()。

Cfor(i=0;i<=5;i++)printf("%d",i++);A、5次B、2次C、3次D、6次(17)执行以下程序段后的输出结果是()。

Cint x = 3;int m, n;n = (++x)+ (++x);m = (x--)+ (x--);printf("%d %d\n", m, n);A、10 6B、9 9C、10 10D、10 8(18)设有定义:int a[2][2]={1,2,3,4},(*p)[2];,则在语句p=a;p++;后,**p的值为()。

BA、2B、3C、4D、以上都不对(19)以下关于循环的程序的输出结果是()。

C#include "stdio.h"void main(){int k=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;k--;}printf("%d %d",k,n);}A、1 1B、2 2C、3 3D、4 4(20)下列关于字符串操作的输出结果是()。

D#include "stdio.h"#include "string.h"void main(){char p1[20]="abcd",p2[20]="ABCD";char str[50]="xyz";strcpy(str+2,strcat(p1+2,p2+1));printf("%s\n",str);}A、xyabcABB、abcABzC、AbabczD、xycdBCD(21)下列选项中属于正确的switch语句的是()。

CA、swicth(’a’)B、switch(1.0){ case ‘a’:printf(“A\n”); { case 1.0 :printf(“A\n”);case ‘b’:printf(“B\n”); } case 2.0 :printf(“B\n”);} C、switch((int)(x+2.5))D、switch(“a”);{ case 1 :printf(“A\n”); { case “a”:printf(“A\n”);case 1+2 :printf(“B\n”);} case “b”:printf(“B\n”);} (22)以下程序的运行结果为()。

A#include "stdio.h"void main(){int y=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}printf("%d,%d\n",a,y);}A、1,-2B、2,1C、1,0D、2,-1(23)C语言的输入与输出操作是由()完成的。

CA、输入语句B、输出语句C、输入与输出函数D、输入与输出语句(24)若有以下程序段……int a[ ]={4,0,2,3,1},i,j,t;for(i=1;i<5;i++){t=a[i];j=i-1;while(j>=0&&t>a[j]){a[j+1]=a[j];j--;}a[j+1]=t;}……则该程序段的功能是()。

BA、对数组a进行插入排序(升序)B、对数组a进行插入排序(降序)C、对数组a进行选择排序(升序)D、对数组a进行选择排序(降序)(25)执行下列程序中的输出语句后,x的值是()。

Amain(){int x ;printf(“%d\n”,(x=4*5,x*2,x+20));}A、20B、40C、60D、80(26)下列程序段的输出结果是()。

Bint c[ ]={1, 7, 12};int *k=c+1;printf("%d",*k++);A、2B、7C、8D、12(27)下列程序的运行结果是()。

Dmain(){int a=4,y;y=fn(a,++a);printf(“%d”,y);}int fn(x,c){int b;if(x<c)b=1;else if(x==c)b=0;else b=-1 ;return(b);}A、4B、-1C、1D、0(28)有如下程序:int x=-20; printf("%d\n",~x);,其输出结果将是()。

合集下载

“正保教育杯”第五届全国ITAT教育工程就业技能大赛C语言程序设计--预赛题

“正保教育杯”第五届全国ITAT教育工程就业技能大赛C语言程序设计--预赛题

“正保教育杯”第五届全国ITA T教育工程就业技能大赛C语言程序设计-- 预赛一、单项选择题【共60题,每小题1分,共60分。

下列每题给出的多个选项中,只有一项是最符合试题要求的。

请选择相应的正确答案。

】1.下列程序的输出结果是()。

struct st{ int x;int *y;}*p;int dt[4]={10,20,30,40};struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};main(){ p=aa;printf(“%d ”,++(*p->y));printf(“%d ”,(++p)->x);printf(“%d ”,++p->x);A)20 20 10 B)21 60 50 C)11 60 61 D)31 70 602.程序中对fun函数有如下说明:int *fun();下面说法正确的是()。

A)fun函数是整型函数B)fun函数的返回值是整型数据C)fun函数的返回值是指向整型数据的指针类型D)指针fun指向一个函数,该函数返回整型数据3.执行以下程序段后的输出结果是()。

int x = 3;int m, n;n = (++x)+ (++x);m = (x--)+ (x--);printf("%d %d\n", m, n);A)10 6 B)9 9 C)10 10 D)10 84.假设所有变量均为整型,则执行运算x=(a=2,b=5,b++,a+b)后, x的值是()。

A)7B)8C)6 D)25.下列描述中不正确的是()。

A)字符型数组中可能存放字符串B)可以对字符型数组进行整体输入、输出C)可以对整型数组进行整体输入、输出D)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值6.有以下程序:main(){ int x=1,y=2;printf(“%d\n”,x,y);}该程序运行后的输出结果是()。

2022年第五届蓝桥杯大赛软件类C-CC组全国总决赛真题

2022年第五届蓝桥杯大赛软件类C-CC组全国总决赛真题

2022年第五届蓝桥杯大赛软件类C-CC组全国总决赛真题1.结果填空(满分10分)标题:国王的遗产某国是个小国。

国王K有6个儿子。

在临终前,K国王立下遗嘱:国王的一批牛作为遗产要分给他的6个儿子。

其中,大儿子分1/4,二儿子1/5,三儿子1/6,....直到小儿子分1/9。

牛是活的,不能把一头牛切开分。

最后还剩下11头牛,分给管家。

请计算国王这批遗产中一共有多少头牛。

这是一个整数,请通过浏览器提交答案,不要填写任何多余的内容(比如说明性的文字)2.结果填空(满分35分)标题:神奇6位数有一个6位的正整数,它有个很神奇的性质:分别用23456去乘它,得到的仍然是6位数,并且乘积中所包含的数字与这个6位数完全一样!只不过是它们的顺序重新排列了而已。

请计算出这个6位数。

这是一个整数,请通过浏览器提交答案,不要填写任何多余的内容(比如说明性的文字)3.代码填空(满分25分)标题:日期差下面的程序计算了两个日期的差值,两个日期都使用公元纪年法。

第1/7页请分析程序逻辑,并推断划线部分缺失的代码。

intdiff(inty1,intm1,intd1,inty2,intm2,intd2){inta=to_day(y1, m1,d1);intb=to_day(y2,m2,d2);returnb-a;}intmain(){intn=diff(1864,12,31,1865,1,1);printf(\return0;}注意:通过浏览器提交答案。

只填写缺少的内容,不要填写任何多余的内容(例如:说明性文字或已有符号)。

4.程序设计(满分50分)标题:拼接平方数小明发现49很有趣,首先,它是个平方数。

它可以拆分为4和9,拆分出来的部分也是平方数。

169也有这个性质,我们权且称它们为:拼接平方数。

第2/7页100可拆分100,这有点勉强,我们规定,000000等都不算平方数。

小明想:还有哪些数字是这样的呢?你的任务出现了:找到某个区间的所有拼接平方数。

2011年西北师范大学第五届程序设计大赛C,C++语言试题

2011年西北师范大学第五届程序设计大赛C,C++语言试题

cout<<i<<"\t";
fprintf(fp,"%ld\t",i);
n++; } } cout<<endl<<" 个 位 数 是 6 且 能 被 3 整 除 的 数 的 总 个 数 为 : "<<n<<endl;
fprintf(fp,"个位数是 6 且能被 3 整除的数的总个数为:%d",n);
//西北师范大学第五届程序设计大赛实例 1.cpp //作者:西北师范大学 -数学与信息科学学院 -09 级计算机科学与技术一班 -200971030102-陈 建峰 时间:2011 年 05 月 09 日 10 时 50 分 #include<iostream> using namespace std; int main() { int i,k=21; while(i=k-1) { k-=3; if(k<5) break; else if(k%5==0) { i++; continue; } i++; } cout<<"i="<<i<<"\t"<<"k="<<k<<endl; return 0; }
//西北师范大学第五届程序设计大赛实例 2.cpp //作者:西北师范大学 -数学与信息科学学院 -09 级计算机科学与技术一班 -200971030102-陈 建峰 时间:2011 年 05 月 09 日 10 时 50 分 #include<iostream> using namespace std; int f(int x,int y) { static int z=5; if(x>y) z=z+y; else if(x==y) z=z-y; else z=z-x; return z; }

关于公布湖南省第五届大学生计算机程序设计竞赛结果的通知

关于公布湖南省第五届大学生计算机程序设计竞赛结果的通知

湘教通[2009]478号
关于公布湖南省第五届大学生
计算机程序设计竞赛结果的通知
各普通高等学校:
按照《关于加强大学生学科竞赛活动组织管理的通知》(湘教通[2009]47号)安排,湖南省第五届大学生计算机程序设计竞赛于2009年10月17日在中南林业科技大学成功举办,本次比赛共评选出团体总分奖8个;优秀组织奖4个(其中本科组3个、专科组1个);单项奖49个(其中本科组一等奖4个,二等奖15个,三等奖28个;专科组二等奖2个,具体名单见附表)。

希望获奖同学和指导教师戒骄戒躁,努力取得更好成绩。

希望各高等学校以竞赛为平台,进一步深化计算机教学改革,全面提高人才培养质量。

附件:1、湖南省第五届大学生计算机程序设计竞赛团体奖获奖名单
2、湖南省第五届大学生计算机程序设计竞赛单项奖获奖名单
二OO九年十月二十九日
湖南省第五届大学生
计算机程序设计竞赛团体奖获奖名单
一、团体总分奖
1、本科组
第一名:国防科技大学
第二名:湖南大学
第三名:中南大学
第四名:中南林业科技大学
第五名:湖南商学院
第六名:湖南师范大学
第七名:湖南理工学院
第八名:长沙学院
二、优秀组织奖
1、本科组
中南林业科技大学
长沙理工大学
长沙学院
2、专科组
湖南科技职业学院
湖南省第五届大学生
计算机程序设计竞赛单项奖获奖名单1、本科组
(1)一等奖:4个
(2)二等奖:15个
(3)三等奖:28个
2、专科组
(1)二等奖:2个。

C语言程序设计预赛

C语言程序设计预赛

第五届全国ITAT教育工程就业技能大赛预赛试题C语言程序设计一、单选题(共计60题)(1)在下述程序中,if (i>j)语句共执行的次数是()。

Cmain(){ int i=0,j=14,k=2,s=0;for(;;){ i+= k ;if(i>j){ printf(“%d”,s);break ;}s+=i ;}}A、6B、9C、7D、12(2)若要用fopen函数打开一个二进制文件,该文件要既能读也能写,当文件不存在时新建文件,则文件打开方式应是()。

CA、"ab+"打开文件进行读/写/追加B、"rb+打开文件进行读/写"C、"wb+"新建文件进行读/写D、"ab"打开文件进行追加(3)下列程序的输出结果是()。

C对于数组,如果是static类型的,则如果没有全部赋值则系统全部赋值为0;如果是普通的数组,如果没有赋值就暂时没有值。

还有,对于二位数组,如果元素全部写出,可以省略行长度。

代表第几个元素,因为struct student 类型的数组是三个数代表一个元素,所以2+6%4=4选cstruct student { int a, b, c; };main(){ struct student stu[2]={{2,3,4},{5,6,7}}; int t;t=stu[0].a+stu[1].b%stu[0].c;printf("%d \n",t); }A、0B、1C、4D、5(4)对于浮点型变量f,能实现对f中的值在小数点后第四位进行四舍五入的表达式是()。

CA、f=(f*1000+0.5)/1000.0B、f=(f*1000+0.5)/1000C、f=(int )(f*1000+0.5)/1000.0//0.0072 0.0070.0072*1000=7.2 7.2+5=7.7 7.7/1000=0.0077达不到预期的效果,所以要取整7/1000=0.007实现了对于小数点后第四位四舍五入的效果D、f=(f/1000+0.5)*1000(5)现已定义整型变量int i=1; 执行循环语句“while(i++<5);”后,i的值为()。

第五届全国ITAT教育工程就业技能大赛C语言程序设计复赛试题A卷答案

第五届全国ITAT教育工程就业技能大赛C语言程序设计复赛试题A卷答案

第五届全国ITAT教育工程就业技能大赛复赛试题C语言程序设计(A卷)请考生仔细阅读并严格遵守题目中关于文件保存和命名的要求。

请务必按照试卷要求为文件命名。

考生答题完毕后,首先创建以“准考证号”命名的文件夹(形式如:433034683),并将考试结果严格按题目上的命名要求进行命名并直接保存在该文件夹下。

注意:考生不得在该文件夹下创建任何子文件夹,所有考试结果均直接保存在该文件夹根目录下。

然后选中整个文件夹,用Winrar压缩工具打包后存放在本考场指定的考试结果存放地址,经监考老师确认上传无误后方可离开考场。

注意:在提交答案时,请务必选中上述存放作品的文件夹(如前面创建的433034683文件夹,而不是文件夹下的全部文件)进行压缩,在完成答案提交后,请确保上述压缩包仍保存在本地计算机中。

请务必按照试卷要求提交指定的文件,不得包含非题目要求的过程文件和临时文件,不得包含本试题文件和试题素材。

注意:凡违反上述规定的考生,其成绩一律按零分处理。

题目命名要求:请将编写好的源程序以题号命名,例如第1题的源程序保存为“1.C” )。

重要提示:由于时间有限,请考生首先保证编写的程序在Wintc环境下可以编译通过并执行,并在此基础上完成考题要求的全部功能,以免因编译不通过影响考生的考试成绩。

1、编程解决如下数学问题:有12升水,怎样利用一个8升和一个5升的容器将水分为两个6升?要求以如下格式打印出分水步骤。

a12 b8 c512 0 0* * * (“*”表示当前状态下每个容器的盛水量)......6 6 0#include "stdio.h"#include "conio.h"move(int *ai,int *aj,int aiContainer,int ajContainer){ //将将油从一个容器导倒入另外一个容器if(aiContainer>ajContainer){if(*ai+*aj>ajContainer)//将油倒入容器小的那一个中{*ai=*ai-(ajContainer-*aj);*aj=*aj+ajContainer-*aj;}else{*aj=*ai+*aj; //否则将油倒入容器大的那个中*ai=*ai-*ai;}}else{*aj=*ai+*aj;*ai=0;}}main(){int a[3]={12,0,0},i,m=0;int container[3]={12,8,5};printf("%-8s%-8s%-8s\n","a12","b8","c5");while(a[0]!=6){for(i=0;i<3;i++)//循环三次,分别从a->b,b->c,c->a{move(&a[i],&a[(i+1)%3],container[i],container[(i+1)%3]); m++;printf("%-8d%-8d%-8d\n",a[0],a[1],a[2]);if(a[0]==6 && a[1]==6){printf("The total number is %d to reach success!",m); getch();exit();}}move(&a[1],&a[2],container[1],container[2]);//b->cprintf("%-8d%-8d%-8d\n",a[0],a[1],a[2]);m++;if(a[0]==6 && a[1]==6){printf("The total number is %d to reach success!",m);break;}}getch();}2、编程实现:有二维数组a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.3}},将数组a的每一行元素均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),按行输出新数组。

程序设计大赛试题

“指院杯”第五届程序设计大赛题目(2011年6月12日)注意事项:1、考试时间为上午9:30-11:30,下午12:30-15:30。

2、考试编程环境为VC6.0。

3、考试结束后将所有的源代码、程序、相关文档打包,文件名为参赛编号,并上传到指定服务器。

确认后方可离开。

1、0的个数源程序名zero.c(zero.cpp)输入文件名 zero_in.txt输出文件名 zero_out.txt问题描述编写程序,计算n! (n<=100000)的尾部0的个数。

输入文件(zero_in.txt)包含一个整数n。

输出文件(zero_out.txt)输出n!尾部0的个数。

样例输入(exp_in.txt)26输出(exp_out.txt)62、洗牌加密法源程序名poker.c(poker.cpp)输入文件名 poker _in.txt输出文件名 poker_out.txt问题描述有一种根据扑克牌的洗牌原理设计的简单加密方法。

加密过程如下,将输入字符串,前后等分成两部分。

如果有奇数个字符,则后半部分多一个字符。

然后将前后两部分交叉,即从后半部分字符串取第一个字符,然后从前半部分取第一个字符,直到所有字符都取完。

这个过程重复n次。

例如:对于输入字符串(注:此处"号不是输入内容):“shaken not stirred”分成两半分别为“shaken no”“t stirred”交叉后得到:“ts hsatkiernr endo”再次处理后得到:“etrsn rh seantdkoi“现在要求根据密文和处理次数(相当于密钥)计算出明文。

输入文件(poker_in.txt)输入文件包含两行:前一行为密文内容,以.号结尾(.号不是密文内容),密文内容中不包含.号,后一行为密钥,即加密时重复的次数。

输出文件(poker_out.txt)输出数据仅有一行,即对密文,输出一行明文(以.结尾)。

样例输入(poker_in.txt)etrsn rh seantdkoi.2输出(poker_out.txt)shaken not stirred.3、猜数字源程序名guess.c(hand.cpp)输入文件名 guess_in.txt输出文件名 guess_out.txt问题描述猜数字是一个非常流行的电脑游戏,电脑选择四个不重复的数字,你要根据电脑的提示尽快猜出这个数字。

第五届全国青少年创意编程与智能设计大赛参赛办法(Scratch创意编程比赛).doc

附件1第五届全国青少年创意编程与智能设计大赛参赛办法(Scratch创意编程比赛)一、参赛对象Scratch创意编程比赛设小学I组(1-3年级)、小学II组(4-6年级)和初中组。

全国各地小学、初中在校学生均以个人名义报名参加。

二、参赛形式创意编程比赛分初评、复评和终评三个阶段,均以线上形式开展。

每人限报1项作品,每项作品限1名指导教师。

2019年6月10日-8月10日,登录“第五届全国青少年创意编程与智能设计学习平台”(网址:点击进入)报名参赛。

三、作品类型1.科学探索类:现实模拟、数学研究、科学实验等等各学科的趣味性展示与探究。

2.实用工具类:有实用价值、能解决学习生活中的实际问题的程序工具。

3.互动艺术类:引入绘画、录音、摄影等多媒体手段,用新媒体互动手法实现音乐、美术方面的创意展示。

4.互动游戏类:各种竞技类、探险类、角色扮演类、球类、棋牌类游戏等等。

四、作品要求1.作品原创作品必须为作者原创,无版权争议。

若发现涉嫌抄袭或侵犯他人著作权的行为,一律取消评奖资格。

如涉及作品原创问题的版权纠纷,由申报者承担责任。

2.创新创造作品主题鲜明,创意独特,表达形式新颖,构思巧妙,充分发挥想象力。

3.构思设计作品构思完整,内容主题清晰,有始有终;创意来源于学习与生活,积极健康,反映青少年的年龄心智特点和玩乐思维。

4.用户体验观看或操作流程简易,无复杂、多余步骤;人机交互顺畅,用户体验良好。

5.艺术审美界面美观、布局合理,给人以审美愉悦和审美享受;角色造型生动丰富,动画动效协调自然,音乐音效使用恰到好处;运用的素材有实际意义,充分表现主题。

6.程序技术合理正确地使用编程技术,程序运行稳定、流畅、高效,无明显错误;程序结构划分合理,代码编写规范,清晰易读;通过多元、合理的算法解决复杂的计算问题,实现程序的丰富效果。

7.参赛作品的著作权归作者所有,使用权由作者与主办单位共享,主办单位有权出版、展示、宣传参赛作品。

软件类-总决赛C本科A组获奖名单

第五届蓝桥杯全国软件和信息技术专业人才大赛总决赛 C/C++程序设计本科 A 组获奖名单
准考证号 249148 241144 248635 219204 223791 248809 201050 219487 220425 230897 200847 213495 224562 232827 201043 203434 248147 249143 204812 240080 248630 248632 220394 221228 223204 205942 212143 214831 214949 250281 204673 219414 247453 249418 203444 204778 学校名称 北京大学 北京航空航天大学 清华大学 北京航空航天大学 北京大学 清华大学 大连海事大学 北京航空航天大学 北京航空航天大学 四川大学 四川大学 北京交通大学 福建师范大学 四川大学 大连海事大学 南京理工大学 上海大学 北京大学 大连理工大学软件学院 福州大学 清华大学 清华大学 郑州大学 北京航空航天大学 北京理工大学 四川大学 吉林大学 北京工业大学 上海大学 北京大学 大连理工大学 北京航空航天大学 北京交通大学 北京理工大学 南京理工大学 大连理工大学 考生姓名 李超 金胜莺 范浩强 赵轩昂 曾鑫璐 鲁逸沁 刘拓锋 董适 刘毅博 徐凯文 李冠一 骆石英 卓一帆 姜名扬 叶瑞麟 宋仁杰 高樱宁 吴争锴 闪英迪 郭晓东 章浚源 梁俊邦 陈钢 陈德勍 刘明汉 黄申 赵强 王求元 吴旻烨 罗翔宇 姚翔 王昌宝 余匡迪 张天利 张永辉 刘卓 科目名称 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 C/C++程序设计本科 A 组总决赛 奖项 特等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 一等奖 二等奖 二等奖 二等奖 二等奖 二等奖 二等奖 二等奖 二等奖 二等奖 二等奖 二等奖

电子科大第五届程序设计竞赛决赛题目浅析

电子科大第五届程序设计竞赛决赛题目浅析刘歆决赛题目和初赛不同,我以提点为主。

各位同学不必强求看懂每一个题的分析、把每个题做出。

有些题是要你的内力到了一定程度以后才能真正理解的。

看书、做题、提高自己的实力才是关键。

等你的实力提升以后,再来看这些题,你会发现很多题都是可以迎刃而解的。

题目可以在/toj/contest/contest68.html看,你也可以在天大的OJ上提交。

A A Simple Problem(Author:郭志彪) 难度:***满足f(a,k)=0等价于a具有N的全部素因子。

因为平方可使素因子数增多并最后>=N的相应素因子数,而平方本身不会产生新的素因子。

求模可以最后来做,因为(a mod N) * b mod N = a * b mod N。

设N的全部素因子乘积(每个只取一次)为P,那么a一定是P的倍数。

答案是N / P + 1。

B Bus(Author:文成明) 难度:**动态规划f[k, 0] = max(f[k + 1, 0], f[k + 2, 1]) + Akf[k, 1] = max(f[k + 1, 1], f[k + 2, 0]) + Bkf[k, 0](或f[k, 1])分别表示第k天开始,这一天选择A(或B)的最大值。

最后取max(f[0, 0], f[0, 1])。

C The Queen’ New Necklaces(Author:朱泓丞) 难度:****用到Burnside定理。

Burnside定理说的是,不同的项链数等于置换群中每个置换的不动点(在置换下不变的方案)个数的和。

这里置换就是一种排列,把一种着色方案映射到另一种,这两种方案是相同的。

置换群可以简单理解为这些置换的集合(不过置换的连接产生的新置换也要包含在这个集合中)。

根据题意,旋转产生的方案是相同的,用置换来表达,就是所有的排列(ai ai+1 …a1…ai-1)。

一共有n个这样的置换,n是题目中所有颜色数的总和。

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