ACM程序的设计_第1页
ACM程序的设计_第2页
ACM程序的设计_第3页
ACM程序的设计_第4页
ACM程序的设计_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2021-11-7淘宝主元素旺旺号有心诚成qq5234583671acm acm 程序设计程序设计计算机学院计算机学院 刘春英刘春英2021-11-7淘宝主元素旺旺号有心诚成qq5234583672acm入门入门2021-11-7淘宝主元素旺旺号有心诚成qq5234583673初识初识acm2021-11-7淘宝主元素旺旺号有心诚成qq5234583674 acm (acm (association for computing machineryassociation for computing machinery) ) 成立于计算机诞生次年,是目前计算机学成立于计算机诞生次年,是目前计算机学

2、界中历史最悠久、最具权威性的组织,是界中历史最悠久、最具权威性的组织,是推进信息技术专业人员和学生提高技巧的推进信息技术专业人员和学生提高技巧的主要力量。主要力量。acmacm通过提供前沿技术信息和通过提供前沿技术信息和从理论到实践的转化,为其全球从理论到实践的转化,为其全球7.57.5万名万名成员服务,并已经成为信息科技领域的一成员服务,并已经成为信息科技领域的一个基本信息来源。个基本信息来源。 2021-11-7淘宝主元素旺旺号有心诚成qq52345836752021-11-7淘宝主元素旺旺号有心诚成qq5234583676 acm主办的国际大学生程序设计竞赛主办的国际大学生程序设计竞赛

3、(international collegiate programming contest),简称,简称acm / icpc,自从,自从1977年开始至今已经连续举年开始至今已经连续举办办30届。其宗旨是提供一个让大学生向届。其宗旨是提供一个让大学生向it界展界展示自己分析问题和解决问题的能力的绝好机会,示自己分析问题和解决问题的能力的绝好机会,并成为一个有效的途径,让下一代并成为一个有效的途径,让下一代it天才可以天才可以接触到其日后工作中将要用到的各种软件。接触到其日后工作中将要用到的各种软件。现在,现在,acm / icpc已成为世界各国大学生中最已成为世界各国大学生中最具影响力的国际计

4、算机赛事。具影响力的国际计算机赛事。2021-11-7淘宝主元素旺旺号有心诚成qq5234583677中国大陆高校从中国大陆高校从19961996年开始参加年开始参加acmacm国际国际大学生程序设计竞赛亚洲预赛。大学生程序设计竞赛亚洲预赛。l前五届中国赛区设在上海,由上海大学前五届中国赛区设在上海,由上海大学承办;承办;l20022002年由清华大学和西安交通大学承办;年由清华大学和西安交通大学承办;l20032003年由清华大学和中山大学承办。年由清华大学和中山大学承办。l20042004年由北京大学和上海交通大学承办。年由北京大学和上海交通大学承办。l20052005年由四川大学、北大和

5、浙大承办。年由四川大学、北大和浙大承办。l20062006年由上海大学、清华和西电承办。年由上海大学、清华和西电承办。2021-11-7淘宝主元素旺旺号有心诚成qq5234583678l2003年9月,第一次参加省赛(邀请赛)l2004年5月,参加了浙江省“舜宇”杯首届大学生程序设计大赛l2004年1112月,参加了第29届acm/icpc亚洲区北京赛区和上海赛区比赛l2005年5月参加了浙江省第二届“舜宇”杯大学生程序设计大赛l2005年11月参加了在大陆举行的三站亚洲区比赛l2006年5月参加了浙江省第二届“舜宇”杯大学生程序设计大赛l今年2021-11-7淘宝主元素旺旺号有心诚成qq52

6、34583679l34月,举行校内大赛(暨选拔赛)l5月,参加浙江省大学生程序设计大赛l11月,参加acm/icpc亚洲区比赛(至少参加两个赛区的比赛)l另外,每学期至少有三次月赛以及适当的练习赛2021-11-7淘宝主元素旺旺号有心诚成qq52345836710如何比赛如何比赛? 3人组队人组队 可以携带诸如书、手册、可以携带诸如书、手册、 程序清单等参考资料;程序清单等参考资料;不能携带任何可用计算机处理的软件或数据、不不能携带任何可用计算机处理的软件或数据、不能携带任何类型的通讯工具;能携带任何类型的通讯工具; 可能收到的反馈信息包括:可能收到的反馈信息包括: compile error

7、 - - 程序不能通过编译。程序不能通过编译。run time error - - 程序运行过程中出现非正常中断。程序运行过程中出现非正常中断。 time limit exceeded - - 运行超过时限还没有得到输出结果。运行超过时限还没有得到输出结果。 wrong answer - - 答案错误。答案错误。 presentation error - - 输出格式不对,可检查空格、回车等等细节。输出格式不对,可检查空格、回车等等细节。 accepted - - 恭喜恭喜!恭喜恭喜! 2021-11-7淘宝主元素旺旺号有心诚成qq52345836711首先根据解题数目进行排名。如果多支队伍解

8、题数量相同,则根据总用时加上惩罚时间进行排名。总用时和惩罚时间由每道解答正确的试题的用时加上惩罚时间而成。每道试题用时将从竞赛开始到试题解答被判定为正确为止,其间每一次错误的运行将被加罚20分钟时间,未正确解答的试题不记时。如何排名?如何排名?2021-11-7淘宝主元素旺旺号有心诚成qq52345836712l比赛形式 1支队伍1台机器(提供打印服务) 上机编程解决问题(可带纸质资料) 实时测试,动态排名l试题 6-10题 全英文(可以带字典)l时间:持续5个小时2021-11-7淘宝主元素旺旺号有心诚成qq52345836713acm .vs. 校程序设计竞赛lacm竞赛 团队合作精神 即

9、时提交,通过所有数据才能得分 全英文题目,题目考察范围广l校程序设计竞赛 个人编程能力的比拼 中文或者英文题目,考察编程基本功2021-11-7淘宝主元素旺旺号有心诚成qq52345836714acm队队员的基本原则l基本要求 人品好 愿意花时间在这项赛事上 有团队合作精神l能力要求 程序设计 英语科技文献阅读 数学2021-11-7淘宝主元素旺旺号有心诚成qq523458367152021-11-7淘宝主元素旺旺号有心诚成qq523458367162021-11-7淘宝主元素旺旺号有心诚成qq523458367172021-11-7淘宝主元素旺旺号有心诚成qq523458367182021-

10、11-7淘宝主元素旺旺号有心诚成qq523458367192021-11-7淘宝主元素旺旺号有心诚成qq523458367202021-11-7淘宝主元素旺旺号有心诚成qq523458367212021-11-7淘宝主元素旺旺号有心诚成qq52345836722 为杭电为杭电acmacm代表队培养后备人才代表队培养后备人才 提高分析问题和应用计算机编程解提高分析问题和应用计算机编程解决问题的能力决问题的能力 培养必要的自学能力培养必要的自学能力 培养学生的协调和沟通能力培养学生的协调和沟通能力 体会学习的快乐体会学习的快乐2021-11-7淘宝主元素旺旺号有心诚成qq5234583672320

11、21-11-7淘宝主元素旺旺号有心诚成qq52345836724由于acm竞赛题目的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。这也是困扰初学者的一大问题。下面,分类介绍:2021-11-7淘宝主元素旺旺号有心诚成qq52345836725lhttp:/ input:l1 5l10 20lsample output:l6l302021-11-7淘宝主元素旺旺号有心诚成qq52345836726l#includelvoid main()lint a,b;scanf(“%d %d”,&a,&b);printf(“%

12、d”,a+b);l2021-11-7淘宝主元素旺旺号有心诚成qq52345836727这就是下面需要解决的问题这就是下面需要解决的问题2021-11-7淘宝主元素旺旺号有心诚成qq52345836728基本输入输出基本输入输出2021-11-7淘宝主元素旺旺号有心诚成qq52345836729l输入不说明有多少个input block,以eof为结束标志。 参见:hdoj_1089lhttp:/ int main() int a,b; while(scanf(%d %d,&a, &b) != eof) printf(%dn,a+b); 2021-11-7淘宝主元素旺旺号有心诚成

13、qq52345836731lc语法:while(scanf(%d %d,&a, &b) != eof) . lc+语法:while( cin a b ) . 2021-11-7淘宝主元素旺旺号有心诚成qq523458367321.scanf函数返回值就是读出的变量个数,如:scanf( “%d %d”, &a, &b ); 如果只有一个整数输入,返回值是1,如果有两个整数输入,返回值是2,如果一个都没有,则返回值是-1。2.eof是一个预定义的常量,等于-1。2021-11-7淘宝主元素旺旺号有心诚成qq52345836733l输入一开始就会说有n个input

14、block,下面接着是n个input block。 参见:hdoj_1090 lhttp:/ int main() int n,i,a,b; scanf(%d,&n);for(i=0;in;i+) scanf(%d %d,&a, &b); printf(%dn,a+b); 2021-11-7淘宝主元素旺旺号有心诚成qq52345836735lc语法:scanf(%d,&n) ; for( i=0 ; i n; for( i=0 ; in ; i+ ) . 2021-11-7淘宝主元素旺旺号有心诚成qq52345836736l输入不说明有多少个input bloc

15、k,但以某个特殊输入为结束标志。参见:hdoj_1091 lhttp:/ int main() int a,b;while(scanf(%d %d,&a, &b) &(a!=0 & b!=0) printf(%dn,a+b); 上面的程序有什么问题?上面的程序有什么问题?2021-11-7淘宝主元素旺旺号有心诚成qq52345836738lc语法:while(scanf(%d,&n) & n!=0 ) . lc+语法:while( cin n & n != 0 ) . 2021-11-7淘宝主元素旺旺号有心诚成qq52345836739l

16、以上几种情况的组合 lhttp:/ lhttp:/ char buf20; gets(buf); lc+语法:如果用string buf;来保存: getline( cin , buf ); 如果用char buf 255 ; 来保存: cin.getline( buf, 255 );2021-11-7淘宝主元素旺旺号有心诚成qq52345836742lscanf(“ %s%s”,str1,str2),在多个字符串之间用一个或多个空格分隔;l若使用gets函数,应为gets(str1); gets(str2); 字符串之间用回车符作分隔。l通常情况下,接受短字符用scanf函数,接受长字符用g

17、ets函数。l而getchar函数每次只接受一个字符,经常c=getchar()这样来使用。2021-11-7淘宝主元素旺旺号有心诚成qq52345836743lgetline 是一个函数,它可以接受用户的输入的字符,直到已达指定个数,或者用户输入了特定的字符。它的函数声明形式(函数原型)如下:istream& getline(char line, int size, char endchar = n);l不用管它的返回类型,来关心它的三个参数:lchar line: 就是一个字符数组,用户输入的内容将存入在该数组内。lint size : 最多接受几个字符?用户超过size的输入都将

18、不被接受。lchar endchar :当用户输入endchar指定的字符时,自动结束。默认是回车符。2021-11-7淘宝主元素旺旺号有心诚成qq52345836744l结合后两个参数,getline可以方便地实现: 用户最多输入指定个数的字符,如果超过,则仅指定个数的前面字符有效,如果没有超过,则用户可以通过回车来结束输入。lchar name4;lcin.getline(name,4,n);l由于 endchar 默认已经是 n,所以后面那行也可以写成:lcin.getline(name,4);2021-11-7淘宝主元素旺旺号有心诚成qq52345836745lhttp:/ numbe

19、r )如果用最简单的算法,则有一个很显然的问题:如何保存计算后的阶乘?如果用大数类,则显然小题大做!思考:思考:如何解决呢?2021-11-7淘宝主元素旺旺号有心诚成qq523458367471.hdoj_1013(digital roots )貌似简单,但是有陷阱在里面。提示:输入数据可能很长,能按照整形进行处理吗?2021-11-7淘宝主元素旺旺号有心诚成qq52345836748l一个input block对应一个output block,output block之间没有没有空行。 参见:hdoj_1089lhttp:/ . printf(%dn,ans); lc+语法: . cout

20、ans endl; 2021-11-7淘宝主元素旺旺号有心诚成qq52345836750l一个input block对应一个output block,每个output block之后都有空行。参见:hdoj_1095 lhttp:/ int main() int a,b; while(scanf(%d %d,&a, &b) != eof) printf(%dnn,a+b); 2021-11-7淘宝主元素旺旺号有心诚成qq52345836752lc语法: . printf(%dnn,ans); lc+语法: . cout ans endl endl; 2021-11-7淘宝主元素

21、旺旺号有心诚成qq52345836753l一个input block对应一个output block,output block之间有有空行。 参见:hdoj_1096 lhttp:/ l int main()l l int icase,n,i,j,a,sum;l scanf(%d,&icase);l for(i=0;iicase;i+)l lsum=0;l scanf(%d,&n);lfor(j=0;jn;j+)ll scanf(%d,&a);l sum+=a;llif(iicase-1)l printf(%dnn,sum);l elsel printf(%dn,sum

22、);l l 2021-11-7淘宝主元素旺旺号有心诚成qq52345836755lc语法:for (k=0;kcount;k+) while () printf( %dn,result); if (k!=count-1) printf(n); lc+语法:类似,输出语句换一下即可。2021-11-7淘宝主元素旺旺号有心诚成qq52345836756lhttp:/ long代替l使用了汉语的标点符号litoa不是ansi函数 能将整数转换为字符串而且与ansi标准兼容的方法是使用sprintf()函数 int num = 100; char str25; sprintf(str, %d , num);l另外,拷贝程序容易产生错误2021-11-7淘宝主元素旺旺号有心诚成qq52345836759下面的hdoj1089为什么 ce?#incl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论