ACM相关知识介绍课件

上传人:494895****12427 文档编号:242773342 上传时间:2024-09-03 格式:PPTX 页数:69 大小:1.67MB
返回 下载 相关 举报
ACM相关知识介绍课件_第1页
第1页 / 共69页
ACM相关知识介绍课件_第2页
第2页 / 共69页
ACM相关知识介绍课件_第3页
第3页 / 共69页
点击查看更多>>
资源描述
,单击此处编辑母版样式,单击此处编辑幻灯片母版样式,第二层,第三层,第四层,第五层,2019/1/24,#,2024/9/3,1,第一讲,ACM,入门,2023/9/91第一讲ACM入门,2024/9/3,2,第一部分,初识,ACM,2023/9/92第一部分初识ACM,2024/9/3,3,ACM (,Association for Computing Machinery,),成立于计算机诞生次年,是目前计算机学界中历史最悠久、最具权威性的组织,What is ACM ?,2023/9/93 ACM (Association fo,2024/9/3,4,我们说的,“,ACM,”,是什么?,2023/9/94我们说的“ACM”是什么?,2024/9/3,5,ACM/ICPC,:,ACM,主办的国际大学生程序设计竞赛,(,International Collegiate Programming Contest,),,简称,ACM / ICPC,,自从,1977,年开始至今已经连续举办,31,届。其宗旨是提供一个让大学生向,IT,界展示自己分析问题和解决问题的能力的绝好机会,让下一代,IT,天才可以接触到其今后工作中将要用到的各种软件。,现在,,ACM / ICPC,已成为世界各国大学生中最具影响力的国际计算机赛事。(非官方),2023/9/95ACM/ICPC: ACM主办的国际,2024/9/3,6,ACM/ICPC in China,中国大陆高校从,1996,年开始参加,ACM,国际大学生程序设计竞赛亚洲预赛。,前六届中国赛区设在上海,由上海大学承办;,2002,年由清华大学和西安交通大学承办;,2003,年由清华大学和中山大学承办。,2004,年由北京大学和上海交通大学承办。,2005,年由四川大学、北大和浙大承办。,2006,年由上海大学、清华和西电承办。,2007,年:北航、南航、吉大、西华,2023/9/96ACM/ICPC in China中国大,2024/9/3,7,2023/9/97,2024/9/3,8,ACM in HDU,2003,年,9,月,第一次参加省赛(邀请赛),2004,年,5,月,浙江省,“,舜宇,”,杯首届大学生程序设计大赛,2004,年,1112,月,第,29,届,ACM,亚洲区北京和上海赛区比赛,2005,年,5,月,浙江省第二届,“,舜宇,”,杯大学生程序设计大赛,2005,年,11,月,参加中国大陆的三站亚洲区比赛,2006,年,5,月,浙江省第二届,“,舜宇,”,杯大学生程序设计大赛,2006,年,1112,月,第,31,届,ACM,首尔、北京、上海和西安赛区比赛,今年,2023/9/98ACM in HDU2003年9月,第一次,2024/9/3,9,预期赛事(今后每年),34,月,举行校内大赛(暨选拔赛),5,月,参加浙江省大学生程序设计大赛,11,月,参加,ACM/ICPC,亚洲区比赛(至少参加,4,5,个赛区,的比赛),另外,每学期至少有三次月赛以及适当的练习赛,2023/9/99预期赛事(今后每年)34月,举行校内大赛,2024/9/3,10,如何比赛,?,3,人组队,可以携带诸如书、手册、 程序清单等参考资料;不能携带任何可用计算机处理的软件或数据、不能携带任何类型的通讯工具;,可能收到的反馈信息包括:,Compile Error,-,程序不能通过编译。,Run Time Error,-,程序运行过程中出现非正常中断。,Time Limit Exceeded,-,运行超过时限还没有得到输出结果。,Wrong Answer,-,答案错误。,Presentation Error,-,输出格式不对,可检查空格、回车等等细节。,Accepted,-,恭喜恭喜!,2023/9/910如何比赛? 3人组队 可以携带诸如,2024/9/3,11,首先根据解题数目进行排名。,如果多支队伍解题数量相同,则根据总用时加上惩罚时间进行排名。,总用时和惩罚时间由每道解答正确的试题的用时加上惩罚时间而成。,每道试题用时将从竞赛开始到试题解答被判定为正确为止,其间每一次错误的运行将被加罚,20,分钟时间,未正确解答的试题不记时。,如何排名?,2023/9/911首先根据解题数目进行排名。如何排名?,2024/9/3,12,比赛形式,1,支队伍,1,台机器(提供打印服务),上机编程解决问题(可带纸质资料),实时测试,动态排名,试题,6-10,题,全英文(可以带字典),时间:持续,5,个小时,2023/9/912比赛形式,2024/9/3,13,ACM .vs.,校程序设计竞赛,ACM,竞赛,团队合作精神,即时提交,通过所有数据才能得分,全英文题目,题目考察范围广,校程序设计竞赛,个人编程能力的比拼,中文或者英文题目,考察编程基本功,2023/9/913ACM .vs. 校程序设计竞赛ACM竞,2024/9/3,14,ACM,队队员的基本原则,基本要求,人品好,愿意花时间在这项赛事上,有团队合作精神,能力要求,程序设计,英语科技文献阅读,数学,2023/9/914ACM队队员的基本原则基本要求,2024/9/3,15,杭电参赛历程,2023/9/915杭电参赛历程,2024/9/3,16,HDU-ACM*,集训队*,2023/9/916HDU-ACM* 集训队*,2024/9/3,17,放松完毕 回到正题,2023/9/917放松完毕 回到正题,2024/9/3,18,开课目的,为杭电,ACM,代表队培养后备人才,提高分析问题和应用计算机编程解决问题的能力,培养必要的自学能力,培养学生的协调和沟通能力,体会学习的快乐,2023/9/918开课目的为杭电ACM代表队培养后备人才,2024/9/3,19,如何入门呢,?,2023/9/919如何入门呢?,2024/9/3,20,ACM,题目特点,:,由于,ACM,竞赛题目的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。这也是困扰初学者的一大问题。,下面,分类介绍:,2023/9/920ACM题目特点:由于ACM竞赛题目的输,2024/9/3,21,先看一个超级简单的题目:, input:,1 5,10 20,Sample output:,6,30,2023/9/921先看一个超级简单的题目:http:/a,2024/9/3,22,初学者很常见的一种写法:,#include,void main(),int a,b;,scanf(“%d %d”,Printf(“%d”,a+b);,2023/9/922初学者很常见的一种写法:#include,2024/9/3,23,有什么问题呢?,这就是下面需要解决的问题,2023/9/923有什么问题呢?这就是下面需要解决的问题,2024/9/3,24,第二部分,基本输入输出,2023/9/924第二部分基本输入输出,2024/9/3,25,输入,_,第一类:,输入不说明有多少个,Input Block,以,EOF,为结束标志。 参见:,HDOJ_1089, ,int main(),int a,b;,while(scanf(%d %d,2023/9/926Hdoj_1089源代码:#includ,2024/9/3,27,本类输入解决方案:,C,语法:,while(scanf(%d %d,&a, &b) != EOF), . ,C+,语法:,while( cin a b ) . ,2023/9/927本类输入解决方案:C语法:,2024/9/3,28,说明(,1,):,Scanf,函数返回值就是读出的变量个数,如:,scanf( “%d %d”, ,如果只有一个整数输入,返回值是,1,,如果有两个整数输入,返回值是,2,,如果一个都没有,则返回值是,-1,。,EOF,是一个预定义的常量,等于,-1,。,2023/9/928说明(1):Scanf函数返回值就是读出,2024/9/3,29,输入,_,第二类:,输入一开始就会说有,N,个,Input Block,下面接着是,N,个,Input Block,。 参见:,HDOJ_1090, ,int main(),int n,i,a,b;,scanf(,%d,for(i=0;in;i+),scanf(%d %d,printf(%dn,a+b);,2023/9/930Hdoj_1090源代码:#includ,2024/9/3,31,本类输入解决方案:,C,语法:,scanf(%d,for( i=0 ; i n; for( i=0 ; i n & n != 0 ) . ,2023/9/934本类输入解决方案:C语法:,2024/9/3,35,输入,_,第四类:,以上几种情况的组合,参见:,HDOJ_1048,参,2024/9/3,37,本类输入解决方案:,C,语法:,char buf20; gets(buf);,C+,语法:,如果用,string buf;,来保存:,getline( cin , buf );,如果用,char buf 255 ;,来保存:,cin.getline( buf, 255 );,2023/9/937本类输入解决方案:C语法:,2024/9/3,38,说明(,5_1,):,scanf(“ %s%s”,str1,str2),,在多个字符串之间用,一个或多个空格,分隔;,若使用,gets,函数,应为,gets(str1); gets(str2);,字符串之间用,回车符,作分隔。,通常情况下,接受,短,字符用,scanf,函数,接受,长,字符用,gets,函数。,而,getchar,函数每次只接受,一个,字符,经常,c=getchar(),这样来使用。,2023/9/938说明(5_1):scanf(“ %s%s,2024/9/3,39,说明(,5_2,):,cin.getline,的用法:,getline,是一个函数,它可以接受用户的输入的字符,直到已达指定个数,或者用户输入了特定的字符。它的函数声明形式(函数原型)如下:,istream,不用管它的返回类型,来关心它的三个参数:,char line,: 就是一个字符数组,用户输入的内容将存入在该数组内。,int size :,最多接受几个字符?用户超过,size,的输入都将不被接受。,char endchar :,当用户输入,endchar,指定的字符时,自动结束。默认是回车符。,2023/9/939说明(5_2):cin.getline的,2024/9/3,40,说明(,5_2,)续,结合后两个参数,,getline,可以方便地实现: 用户最多输入指定个数的字符,如果超过,则仅指定个数的前面字符有效,如果没有超过,则用户可以通过回车来结束输入。,char name4;,cin.getline(name,4,n);,由于,endchar,默认已经是,n,,所以后面那行也可以写成:,cin.getline(name,4);,2023/9/940说明(5_2)续结合后两个参数,getl,2024/9/3,41,思考:以下题目属于哪一类输入?,以下题目属于哪一类输入?http,2024/9/3,42,输出,_,第一类:,一个,Input Block,对应一个,Output Block,,,Output Block,之间,没有,空行。 参见:,HDOJ_1089, Block,2024/9/3,43,解决方案:,C,语法:, . printf(%dn,ans);,C+,语法:, . cout ans endl; ,2023/9/943解决方案:C语法:,2024/9/3,44,输出,_,第二类:,一个,Input Block,对应一个,Output Block,,每个,Output Block,之后都有,空行。参见:,HDOJ_1095, Block,2024/9/3,45,1095,源代码,#include ,int main(),int a,b;,while(scanf(%d %d,&a, &b) != EOF),printf(%dnn,a+b);,2023/9/9451095源代码#include std,2024/9/3,46,解决办法:,C,语法:, . printf(%dnn,ans);,C+,语法:, . cout ans endl endl; ,2023/9/946解决办法:C语法:,2024/9/3,47,输出,_,第三类:,一个,Input Block,对应一个,Output Block,,,Output Block,之间,有,空行。 参见:,HDOJ_1096, Block,2024/9/3,48,1096,源代码,#include ,int main(),int icase,n,i,j,a,sum;,scanf(%d,for(i=0;iicase;i+),sum=0;,scanf(%d,for(j=0;jn;j+),scanf(%d,sum+=a;,if(iicase-1),printf(%dnn,sum);,else,printf(%dn,sum);,2023/9/9481096源代码#include std,2024/9/3,49,解决办法:,C,语法:,for (k=0;kcount;k+) while () printf( %dn,result); if (k!=count-1) printf(n); ,C+,语法:,类似,输出语句换一下即可。,2023/9/949解决办法:C语法:,2024/9/3,50,思考:以下题目属于哪一类输出?,以下题目属于哪一类输出?http,2024/9/3,51,附,:,初学者常见问题,2023/9/951附: 初学者常见问题,2024/9/3,52,一、编译错误,Main,函数必须返回,int,类型,(,正式比赛,),不要在,for,语句中定义类型,_int64,不支持,可以用,long long,代替,使用了汉语的标点符号,itoa,不是,ansi,函数,能将整数转换为字符串而且与,ANSI,标准兼容的方法是使用,sprintf(),函数,int num = 100; char str25; sprintf(str, %d , num);,另外,拷贝程序容易产生错误,2023/9/952一、编译错误Main函数必须返回int类,2024/9/3,53,下面的,hdoj1089,为什么,CE?,#include ,int main(),int a,b;,while(scanf(%d %d,2023/9/953下面的hdoj1089为什么 CE?#i,2024/9/3,54,二、小技巧,数据的拷贝(特别是输出的提示信息),调试的,sample input,的拷贝,2023/9/954二、小技巧数据的拷贝(特别是输出的提示信,2024/9/3,55,三、,C,语言处理,“,混合数据,”,的问题,例题(,Hdoj_1170,), (i=0;iicase;i+),scanf(%c%d%d,2023/9/956常见的代码:,2024/9/3,57,有什么问题?,2023/9/957有什么问题?,2024/9/3,58,四、,Printf,和,cout,混用的问题,以下的程序输出什么?,#include,#include,int main(),int j=0;,for(j=0;j5;j+),cout,总结,-,练习,-,总结,-,杭电,ACM,论坛,google,、,baidu,2023/9/964学习方式练习-总结-练习-总结-,2024/9/3,65, C/C+ ),4,、可以退课吗,? ( Of course! ),3,、如何加入集训队,? (200 &,申请,),2,、英语不好怎么办?,(,问题不大,),2023/9/966常见问题:1、需要什么基础?( C/C+,2024/9/3,67,想对大家说的话,2023/9/967想对大家说的话,2024/9/3,68,课后任务:,1,、熟悉,2,、完成在线练习:,ACM ProgrammingExercise,(,1,),3,、学有余力,可以尝试下面题目,:,1016-1018,、,1013,、,1061,1170,、,2000-2043,2023/9/968课后任务:1、熟悉http:/acm.,2024/9/3,69,See you next week!,2023/9/969See you next week!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!