《杭电acm初学者》PPT课件.ppt

上传人:公**** 文档编号:571854409 上传时间:2024-08-12 格式:PPT 页数:70 大小:2.48MB
返回 下载 相关 举报
《杭电acm初学者》PPT课件.ppt_第1页
第1页 / 共70页
《杭电acm初学者》PPT课件.ppt_第2页
第2页 / 共70页
《杭电acm初学者》PPT课件.ppt_第3页
第3页 / 共70页
《杭电acm初学者》PPT课件.ppt_第4页
第4页 / 共70页
《杭电acm初学者》PPT课件.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《《杭电acm初学者》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《杭电acm初学者》PPT课件.ppt(70页珍藏版)》请在金锄头文库上搜索。

1、2024/8/121ACM ACM 程序设计程序设计计算机学院计算机学院 刘春英刘春英2024/8/122第一讲第一讲ACM入门入门2024/8/123第一部分第一部分初识初识ACM2024/8/124 ACM (ACM (Association for Computing Association for Computing MachineryMachinery) ) 成立于计算机诞生次年,是目前计算机成立于计算机诞生次年,是目前计算机学界中历史最悠久、最具权威性的组织学界中历史最悠久、最具权威性的组织What is ACM ?2024/8/125我们说的我们说的“ACMACM”是什么?是什么

2、?2024/8/126ACM/ICPC: ACM主办的国际大学生程序设计竞赛主办的国际大学生程序设计竞赛 (International Collegiate Programming Contest),简称,简称ACM / ICPC,自从,自从1977年开始至今已经连续举年开始至今已经连续举办办31届。其宗旨是提供一个让大学生向届。其宗旨是提供一个让大学生向IT界展界展示自己分析问题和解决问题的能力的绝好机会,示自己分析问题和解决问题的能力的绝好机会,让下一代让下一代IT天才可以接触到其今后工作中将要天才可以接触到其今后工作中将要用到的各种软件。用到的各种软件。 现在,现在,ACM / ICPC

3、已成为世界各国大学生中最已成为世界各国大学生中最具影响力的国际计算机赛事。(非官方)具影响力的国际计算机赛事。(非官方)2024/8/127ACM/ICPC in China中国大陆高校从中国大陆高校从19961996年开始参加年开始参加ACMACM国际国际大学生程序设计竞赛亚洲预赛。大学生程序设计竞赛亚洲预赛。l前六届中国赛区设在上海,由上海大学承前六届中国赛区设在上海,由上海大学承办;办;l20022002年由清华大学和西安交通大学承办;年由清华大学和西安交通大学承办;l20032003年由清华大学和中山大学承办。年由清华大学和中山大学承办。l20042004年由北京大学和上海交通大学承办

4、。年由北京大学和上海交通大学承办。l20052005年由四川大学、北大和浙大承办。年由四川大学、北大和浙大承办。l20062006年由上海大学、清华和西电承办。年由上海大学、清华和西电承办。l20072007年:北航、南航、吉大、西华年:北航、南航、吉大、西华2024/8/1282024/8/129ACM in HDUl20032003年年9 9月,第一次参加省赛(邀请赛)月,第一次参加省赛(邀请赛)l20042004年年5 5月,浙江省月,浙江省“舜宇舜宇”杯首届大学生程序设计大赛杯首届大学生程序设计大赛l20042004年年11121112月,第月,第2929届届ACMACM亚洲区北京和上

5、海赛区比赛亚洲区北京和上海赛区比赛l20052005年年5 5月月, ,浙江省第二届浙江省第二届“舜宇舜宇”杯大学生程序设计大杯大学生程序设计大赛赛l20052005年年1111月月, ,参加中国大陆的三站亚洲区比赛参加中国大陆的三站亚洲区比赛l20062006年年5 5月月, ,浙江省第二届浙江省第二届“舜宇舜宇”杯大学生程序设计大杯大学生程序设计大赛赛l20062006年年11121112月,第月,第3131届届ACMACM首尔、北京、上海和西安赛首尔、北京、上海和西安赛区比赛区比赛l今年今年2024/8/1210预期赛事(今后每年)预期赛事(今后每年)l34月,举行校内大赛(暨选拔赛)l

6、5月,参加浙江省大学生程序设计大赛l11月,参加ACM/ICPC亚洲区比赛(至少参加45个赛区的比赛)l另外,每学期至少有三次月赛以及适当的练习赛2024/8/1211如何比赛如何比赛? 3人组队人组队 可以携带诸如书、手册、可以携带诸如书、手册、 程序清单等参考资料;程序清单等参考资料;不能携带任何可用计算机处理的软件或数据、不不能携带任何可用计算机处理的软件或数据、不能携带任何类型的通讯工具;能携带任何类型的通讯工具;F可能收到的反馈信息包括:可能收到的反馈信息包括: Compile Error - - 程序不能通过编译。程序不能通过编译。Run Time Error - - 程序运行过程

7、中出现非正常中断。程序运行过程中出现非正常中断。 Time Limit Exceeded F - - 运行超过时限还没有得到输出结果。运行超过时限还没有得到输出结果。 Wrong Answer - - 答案错误。答案错误。 Presentation Error F - - 输出格式不对,可检查空格、回车等等细节。输出格式不对,可检查空格、回车等等细节。 Accepted - - 恭喜恭喜!恭喜恭喜! 2024/8/1212F首先根据解题数目进行排名。F如果多支队伍解题数量相同,则根据总用时加上惩罚时间进行排名。F总用时和惩罚时间由每道解答正确的试题的用时加上惩罚时间而成。F每道试题用时将从竞赛

8、开始到试题解答被判定为正确为止,其间每一次错误的运行将被加罚20分钟时间,未正确解答的试题不记时。如何排名?如何排名?2024/8/1213l比赛形式1支队伍1台机器(提供打印服务)上机编程解决问题(可带纸质资料)实时测试,动态排名l试题6-10题全英文(可以带字典)l时间:持续5个小时2024/8/1214ACM .vs. 校程序设计竞赛lACM竞赛团队合作精神即时提交,通过所有数据才能得分全英文题目,题目考察范围广l校程序设计竞赛个人编程能力的比拼中文或者英文题目,考察编程基本功2024/8/1215ACM队队员的基本原则l基本要求人品好愿意花时间在这项赛事上有团队合作精神l能力要求程序设

9、计英语科技文献阅读数学2024/8/1216杭电参赛历程杭电参赛历程2024/8/1217HDU-ACM* 集训队集训队*2024/8/1218放松完毕放松完毕 回到正题回到正题2024/8/1219开课目的开课目的为杭电为杭电ACMACM代表队培养后备人才代表队培养后备人才提高分析问题和应用计算机编程解提高分析问题和应用计算机编程解决问题的能力决问题的能力培养必要的自学能力培养必要的自学能力培养学生的协调和沟通能力培养学生的协调和沟通能力体会学习的快乐体会学习的快乐2024/8/1220如何入门呢如何入门呢? ?2024/8/1221ACMACM题目特点题目特点: :由于ACM竞赛题目的输入

10、数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。这也是困扰初学者的一大问题。下面,分类介绍:2024/8/1222先看一个超级简单的题目:先看一个超级简单的题目:lhttp:/ main()lint a,b;scanf(“%d %d”,&a,&b);Printf(“%d”,a+b);l2024/8/1224有什么问题呢?有什么问题呢?这就是下面需要解决的问题这就是下面需要解决的问题2024/8/1225第二部分第二部分基本输入输出基本输入输出2024/8/1226输入输入_第一类:第一类:l输入不说明有多少个InputBlock,以E

11、OF为结束标志。参见:HDOJ_1089lhttp:/ while(scanf(%d%d,&a,&b)!=EOF) printf(%dn,a+b);2024/8/1228本类输入解决方案:本类输入解决方案:lC语法:while(scanf(%d%d,&a,&b)!=EOF).lC+语法:while(cinab).2024/8/1229说明(说明(1 1):):1.Scanf函数返回值就是读出的变量个数,如:scanf(“%d%d”,&a,&b);如果只有一个整数输入,返回值是1,如果有两个整数输入,返回值是2,如果一个都没有,则返回值是-1。2.EOF是一个预定义的常量,等于-1。2024/8

12、/1230输入输入_第二类:第二类:l输入一开始就会说有N个InputBlock,下面接着是N个InputBlock。参见:HDOJ_1090lhttp:/ scanf(%d%d,&a,&b); printf(%dn,a+b);2024/8/1232本类输入解决方案:本类输入解决方案:lC语法:scanf(%d,&n);for(i=0;in;for(i=0;in;i+).2024/8/1233输入输入_第三类:第三类:l输入不说明有多少个InputBlock,但以某个特殊输入为结束标志。参见:HDOJ_1091lhttp:/ printf(%dn,a+b);上面的程序有什么问题?上面的程序有什

13、么问题?2024/8/1235本类输入解决方案:本类输入解决方案:lC语法:while(scanf(%d,&n)&n!=0).lC+语法:while(cinn&n!=0).2024/8/1236输入输入_第四类:第四类:l以上几种情况的组合lhttp:/ while(scanf(%d%d,&a,&b)!=EOF)printf(%dnn,a+b);2024/8/1247解决办法:解决办法:lC语法:.printf(%dnn,ans);lC+语法:.coutansendlendl;2024/8/1248输出输出_第三类:第三类:l一个InputBlock对应一个OutputBlock,Output

14、Block之间有有空行。参见:HDOJ_1096lhttp:/ : 初学者常见问题初学者常见问题2024/8/1253一、编译错误lMain函数必须返回int类型(正式比赛)l不要在for语句中定义类型l_int64不支持,可以用longlong代替l使用了汉语的标点符号litoa不是ansi函数能将整数转换为字符串而且与ANSI标准兼容的方法是使用sprintf()函数intnum=100;charstr25;sprintf(str,%d,num);l另外,拷贝程序容易产生错误2024/8/1254下面的hdoj1089为什么 CE?#includeintmain()inta,b; whil

15、e(scanf(%d%d,&a,&b)!=EOF)printf(%dn,a+b);2024/8/1255二、小技巧二、小技巧l数据的拷贝(特别是输出的提示信息)l调试的sampleinput的拷贝2024/8/1256三、三、C C语言处理语言处理“混合数据混合数据”的问的问题题例题(例题(Hdoj_1170)http:/ 、如何加入集训队、如何加入集训队? (200 & 申请申请 )2、英语不好怎么办?(问题不大)2024/8/1268想对大家说的话想对大家说的话2024/8/1269课后任务:课后任务:1 1、熟悉、熟悉http:/http:/2 2、完成在线练习:、完成在线练习:ACM ProgrammingACM ProgrammingExerciseExercise(1 1)3 3、学有余力,可以尝试下面题目、学有余力,可以尝试下面题目: :1016-10181016-1018、10131013、1061 1061 11701170、2000-20432000-20432024/8/1270See you next week!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号