ac编程基础教案第一讲week1lecture_第1页
ac编程基础教案第一讲week1lecture_第2页
ac编程基础教案第一讲week1lecture_第3页
ac编程基础教案第一讲week1lecture_第4页
ac编程基础教案第一讲week1lecture_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、ACM-ICPCACM-ICPC & Online Judge& Online Judge杜佑宸ACM-ICPCACM-ICPC三个人M小时N道题一台电脑比赛期间,每队使用1台电脑需要在5个小时内使用C、C+、Pascal或Java中的一种编写程序解决7到13个问题。程序完成之后提交裁判运行,运行的结果会判定为正确或错误两种并及时通知参赛队。而且有趣的是每队在正确完成一题后,组织者将在其位置上升起一只代表该题颜色的气球,每道题目第一支解决掉它的队还会额外获得一个“FIRST PROBLEM SOLVED”的气球。最后的获胜者为正确解答题目最多且总用时最少的队伍。每道试题用时将从

2、竞赛开始到试题解答被判定为正确为止,其间每一次提交运行结果被判错误的话将被加罚20分钟时间,未正确解答的试题不记时。与其它计算机程序竞赛(例如国际信息学奥林匹克竞赛,IOI)相比,ACM-ICPC的特点在于其题量大,每队需要在5小时内完成7道或以上的题目。另外,一支队伍3名队员却只有1台电脑,使得时间显得更为紧张。因此除了扎实的专业水平,良好的团队协作和心理素质同样是获胜的关键。ACM-ICPCACM-ICPC常用环境Ubuntu(Linux系统)CodeBlocks(IDE)GCC(编译器)Vi/Vim(文本编辑器)UbuntuUbuntu vs WindowsUbuntu开始菜单我的电脑浏

3、览器终端(IMPORTANT)CodeBlocksBefore CodeblocksBefore Codeblocks#include using namespace std;int main() cout“hello world”endl; return 0;包含头文件头文件iostreamstringcstdiocstdlibmath注意:形式主要用于系统的内置的头文件 “name”形式主要用于用户的编写的头文件Before Codeblocks#include using namespace std;int main() cout“hello world”endl; return 0;包

4、含头文件使用名称空间名称空间coutcinstdcouthelloothercinhellothird名称空间using namespace std;表示使用std作为默认名称空间,如果不使用这条语句,则:std:cout“hello world”std:endl;扩展:假如使用了using namespace std;而且包含了其他头文件,比如有另一个名称空间other,则可以使用other:name的形式。名称空间#include #include using namespace std;coutother:namecoutcinstdcouthelloother名称空间另一种方式,只使用

5、名称空间下的特定函数#include using std:cout;using std:endl;cout“hello world”endl;Before Codeblocks#include using namespace std;int main() cout“hello world”variable;cinab;cout5+6;cout5+6endl3+4;输入值给variable变量依次输入值给a、b变量输出5+6的结果输出5+6的结果换行再输出3+4的结果output 5+6Input a,b & output a+bInput a,b & output a+b#in

6、clude using namespace std;int main() int a,b; cinab; couta+bendl; return 0;变量声明(declaration)变量int longfloat doubleboolchar2字节,整型,例:1、28、-634字节,长整型,例:超出int表示范围的数4字节,单精度浮点型,例:3.14159 8字节,双精度浮点型,例:3.141592651字节,布尔型,例:true、false1字节,字符型,例:a、5特别注意:int的字节大小和平台编译器有关, 可能为2字节或者4字节Input a,b & output a+b(wi

7、th informations)#include using namespace std;int main() int a,b; couta; coutb; couta+bendl; return 0;Compile & Run it!Compile & Run it!Its Complicated!But Useful!Now CodeBlocksNow CodeBlocksNow CodeBlocksCompile and Run it in CodeBlocksa+b in CodeBlocksNow Online JudgeOnline JudgeOnline Judg

8、e系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C+、Pascal)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。一个用户提交的程序在Online Judge系统下执行时将受到比较严格的限制,包括运行时间限制,内存使用限制和安全限制等。用户程序执行的结果将被Online Judge系统捕捉并保存,然后再转交给一个裁判程序。该裁判程序或者比较用户程序的输出数据和标准输出样例的差别,或者检验用户程序的输出数据是否满足一定的逻辑条件。Online Judge系统最初使用于ACM-ICPC国际大学生程序设计竞赛和OI信息学奥林匹克竞赛

9、中的自动判题和排名。现广泛应用于世界各地高校学生程序设计的训练、参赛队员的训练和选拔、各种程序设计竞赛以及数据结构和算法的学习和作业的自动提交判断中。OJ 返回值Pending : 系统忙,你的答案在排队等待.Pending Rejudge: 因为数据更新或其他原因,系统将重新判你的答案.Compiling : 正在编译.Running & Judging: 正在运行和判断.Accepted : 程序通过!Presentation Error : 答案基本正确,但是格式不对。Wrong Answer : 答案不对,仅仅通过样例数据的测试并不一定是正确答案,一定还有你没想到的地方.Tim

10、e Limit Exceeded : 运行超出时间限制,检查下是否有死循环,或者应该有更快的计算方法。Memory Limit Exceeded : 超出内存限制,数据可能需要压缩,检查内存是否有泄露。Output Limit Exceeded: 输出超过限制,你的输出比正确答案长了两倍.Runtime Error : 运行时错误,非法的内存访问,数组越界,指针漂移,调用禁用的系统函数。请点击后获得详细输出。Compile Error : 编译错误,请点击后获得编译器的详细输出。POJ-Problem 1000POJ-Problem 1000 Descripion(描述):Calculate a+b Input(输入):Two integer a,b (0=a,b=10) Output(输出):Output a+b Sample Input(样例输入):1 2 Sample Output(样例输出):3 Hint(提示):Time Limit:Time Limit:1000MSMemory Limi

温馨提示

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

评论

0/150

提交评论