[理学]lecture_1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[理学]lecture_1

第一章:ACM入门 ACM算法分析和程序设计 What is ACM ? ACM (Association for Computing Machinery) 成立于计算机诞生次年,是目前计算机学界中历史最悠久、最具权威性的组织… ACM/ICPC ACM竞赛的目的和影响力 ACM竞赛在中国 ACM竞赛在吉珠 如何比赛 比赛形式 1支队伍1台机器(提供打印服务) 上机编程解决问题(可带纸质资料) 实时测试,动态排名 可携带任何非电子类资料 试题 6-10题 全英文(可以带字典) 时间:持续5个小时 反馈信息 可能收到的反馈信息包括: Compile Error -- 程序不能通过编译。 Run Time Error -- 程序运行过程中出现非正常中断。 Time Limit Exceeded -- 运行超过时限还没有得到输出结果。 Wrong Answer -- 答案错误。 Presentation Error -- 输出格式不对,可检查空格、回车等等细节。 Accepted -- 恭喜恭喜! 排名规则 首先根据解题数目进行排名。 如果多支队伍解题数量相同,则根据总用时加上惩罚时间进行排名。 总用时和惩罚时间由每道解答正确的试题的用时加上惩罚时间而成。 每道试题用时将从竞赛开始到试题解答被判定为正确为止,其间每一次错误的运行将被加罚20分钟时间,未正确解答的试题不记时。 开课目的 为吉珠ACM代表队培养后备人才 提高分析问题的思维能力 提高应用计算机编程解决问题的动手能力 提高英语水平 培养必要的自学能力 提高就业竞争力 体验徘徊在快乐与痛苦边缘的感觉 问世间, 算法为何物??? ACM 入门… 输入与输出: 由于ACM竞赛题目的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。这也是困扰初学者的一大问题。 下面,分类介绍: 先看一个超级简单的题目: 初学者很常见的一种写法: #includestdio.h void main() { int a,b; scanf(“%d %d”,a,b); printf(“%d”,a+b); } 有什么问题呢? 这就是下面需要解决的问题 第二部分 输入_第一类: 输入不说明有多少个Input Block,以EOF为结束标志。 参见:/showproblem.php?pid=1089 Hdoj_1089源代码: #include stdio.h int main() { int a,b; while(scanf(%d %d,a, b) != EOF) printf(%d\n,a+b); } 本类输入解决方案: C语法: while(scanf(%d %d,a, b) != EOF) { ? ? .... } C++语法: while( cin a b ) { ? ? .... } 说明(1): Scanf函数返回值就是读出的变量个数,如:scanf( “%d %d”, a, b ); 如果只有一个整数输入,返回值是1,如果有两个整数输入,返回值是2,如果一个都没有,则返回值是-1。 EOF是一个预定义的常量,等于-1。 输入_第二类: 输入一开始就会说有N个Input Block,下面接着是N个Input Block。 参见:HDOJ_1090 /showproblem.php?pid=1090 Hdoj_1090源代码: #include stdio.h int main() { int n,i,a,b; scanf(%d,n); for(i=0;in;i++) { scanf(%d %d,a, b); printf(%d\n,a+b); } } 本类输入解决方案: C语法: scanf(%d,n) ; for( i=0 ; in ; i++ ) { ? ? .... } C++语法: cin n; for( i=0 ; in ; i++ ) { ? ? .... } 输入_第三类: 输入不说明有多少个Input Block,但以某个特殊输入为结束标志,比如输入为0. 参见:HDOJ_1091 /showproblem.php?pid=1091 C++答案 #includeiostream using namespace std; int main() { int a,b; while(cinab(a!=0||b!=0)) { couta+bendl; }

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档