Hello,POJ!毋庸置疑,学习程序设计就是奔着“程序员梦”去的。编程本质是运用计算机科学的基本思想求解问题、设计系统以及理解人类的思维行为和普适技能,核心是“实现”。因此,诸如“中国梦”、“程序员梦”是编写出来,即“CodingNow,ProgrammingFuture”。在这个学期,你将尝试用“编写”的方式去“实现”,体验与过去完全不同的“实现”。在这个过程中,有太多的“if”不确定、有太多的“for”死循环、有太多的“bug”愁断魂,“实现”并不容易。有人的地方就有江湖,有江湖的地方就有武林大会。POJ(ProblemsOnlineJudge)是学编程的江湖。在这里,做习题叫做“刷题”,习题做错叫做“被挖”(WA=WrongAnswer,结果错误),习题通过叫做“A了”(AC=Accepted,结果通过),简单习题称为“水题”,“刷一圈”指连续刷题12小时以上。总会有人用一、两周的时间完成100题的OJ,这不叫“刷题”,叫“梦游”。2012学年,一个大三的哥哥将100题的源码整理出版了(长安校区超市旁的复印店),大一亲们蜂拥而至,一时间“A4纸贵”,交叉着下载、复制、粘贴、上传的能力训练,唯独不见“编写”。待到期末上机考试,亲们那双瞠目的眼睛与希望工程那双大眼睛神似,最终贡献了两位数的GDP。有道是出来混的,迟早要还,哥哥今昔完美毕业,亲们继续“梦游”。没有实现,何来现实?Hello,POJ!POJ使用指南记分规则全部习题分十组,累计100题(C/C++),每题1分。提交规则欲提交作业,只需将源程序文件上传到自己的网络硬盘中。在网络硬盘中建立一个名字为“CPP”的目录,此后所有要提交的POJ习题文件均上传于此。注意:所有其它取名以及不把文件上传到该目录中的提交均会导致机器不能自动批阅。POJ允许每个作业文件最多3次提交进行机器评阅,其中第1次记分系数为1,第2次记分系数为0.8,第3次记分系数为0.6,本题得分=分数X系数,4次以上的提交均按不及格处理。建议编程者调试正确后方可提交。POJ习题均有“提交时间”限制,即该试题首次被打开之日后两周之前提交评阅,时间超过后则该试题不再被评阅。文件规则1.作业文件命名在“试题要求”中指定;2.C/C++作业文件扩展名为“.CPP”;3.除源文件外,一般的,无需再提交别的扩展名文件,例如:工程文件以及其它中间临时文件。4.POJ不支持内含非标准的头文件,例如:stdafx.h文件。5.POJ只允许单个程序单个独立源文件,多源文件程序导致编译错误。IO规则POJ评阅习题时需要向程序提供输入数据,并获取程序的输出结果。因此提交的程序需按照每个习题具体的输入输出格式要求处理输入输出。1.提交的程序总是使用标准输入流设备(stdin)和标准输出流设备(stdout)来处理输入输出,即对于C程序使用scanf和printf,C++程序可使用cin和cout或scanf和printf。2.如果程序状态是“数据错误”或“结果错误”,有可能与没有正确使用输入输出格式有关。3.如果使用cin和cout,由于其实现的复杂性,可能要比scanf和printf执行慢。评阅规则POJ采用“动态执行追踪”技术来动态跟踪程序的运行,并结合程序的输出结果判断程序的正确性。一般的,编程者按照习题的要求仔细编写程序,并按指定的格式和提供的范例数据调试,如果能得到范例结果,通常就可以确定程序是正确的。但POJ评阅程序时采用多组数据同时测试,因此程序结果可能并不符合其要求,这时编程者需要再通盘考虑程序的方方面面,看看是哪个环节尚未得到解决。下面是POJ评阅后反馈的信息:等待评阅(WJ,WaitingJudge)作业模式为等待评阅。竞赛模式为正在评阅。编译错误(CE,CompileError)程序有语法错误,没有通过编译和连接。系统错误(SE,SystemError)由于计算机系统方面的原因不能运行程序。例如程序运行要求的内存超过硬件限制。校验错误(VE,ValidateError)不明确的原因不能获取程序的输出。运行时错(RE,RuntimeError)程序运行过程中发生严重错误,例如异常、堆栈溢出、非法文件访问或内存访问、数组或指针越界、除数为0等。内存错误(ME,MemoryLimitExceed)作业模式为程序运行消耗内存过大,例如:堆分配失控等。竞赛模式为程序所使用的内存空间超过了题目的限定。超时错误(TE,TimeLimitExceed)作业模式为程序运行时间过长,例如:死循环等。竞赛模式为程序没有在限定时间内执行完。输出超限(OE,OutputLimitExceed)程序产生了过多的输出。达到了标准输出文件五倍以上,一般是由于死循环导致的,注意:死循环也有可能导致TE。结果错误(WA,WrongAnswer)程序没有得到正确的输出结果。数据错误(PE,PresentationError)虽然程序的结果是正确的,但是输出结果的格式不对,应该是在某些位置上多输出了空格、TAB、回车字符、空行等。结果通过(AC,Accepted)程序运行得到了正确结果。某些时候,程序可能同时出现几种错误。对于这样的情况,评测系统会根据错误优先级的高低返回结果。优先级:WJCESEVEREMETEOEWAPEAC示例FileName习题所要求的文件名Title习题标题TimeLimit程序运行时间限制MemoryLimit程序内存空间限制Description习题描述Input输入要求、描述Output输出要求、描述SampleInput示例输入SampleOutput示例输出Hint提示信息POJ第1季:水题NWPUPOJ第1题FileNameT001.CPPTitle计算A+BTimeLimit2000msMemoryLimit10000KBDescription计算A+BInput输入整数A和整数B的值,用空格隔开Output输出A+B的结果SampleInput12SampleOutput3#includeiostreamusingnamespacestd;intmain(){inta,b,s;scanf(%d%d,&a,&b);s=a+b;printf(%d,s);return0;}NWPUPOJ第2题FileNameT002.CPPTitle圆及圆球等的相关计算TimeLimit2000msMemoryLimit10000KBDescription输入圆半径r和圆柱高h,计算圆周长l、圆面积s、圆球表面积sq、圆球体积vq和圆柱体积vzInput输入实型,用空格分隔Output按顺序输出圆周长、圆面积、圆球表面积、圆球体积、圆柱体积,保留2位小数,结果每行输出一个SampleInput1.53SampleOutput9.427.0728.2714.1421.21#includeiostreamusingnamespacestd;intmain(){doubler,h,l,s,sq,vq,vz,PI=3.141593;scanf(%lf%lf,&r,&h);l=2*PI*r;s=PI*r*r;sq=4*PI*r*r;vq=4.0/3*PI*r*r*r;vz=PI*r*r*h;printf(%.2lf\n%.2lf\n%.2lf\n%.2lf\n%.2lf\n,l,s,sq,vq,vz);return0;}NWPUPOJ第3题FileNameT003.CPPTitle计算成绩TimeLimit2000msMemoryLimit10000KBDescription输入某学生的数学、英语和C语言课程成绩,输出该学生三门课总成绩和平均成绩Input输入为实型,用空格分隔Output输出为实型,保留六位小数,结果每行输出一个SampleInput908274SampleOutput246.00000082.000000#includeiostreamusingnamespacestd;intmain(){doublea,b,c,sum,aver;scanf(%lf%lf%lf,&a,&b,&c);sum=a+b+c;aver=(a+b+c)/3;printf(%lf\n%lf\n,sum,aver);return0;}NWPUPOJ第4题FileNameT004.CPPTitle找最大数TimeLimit2000msMemoryLimit10000KBDescription找出三个数据A,B,C中的最大数Input输入为整型,用空格分隔Output输出为整型SampleInput10029712SampleOutput712#includeiostreamusingnamespacestd;intmain(){inta,b,c,t;scanf(%d%d%d,&a,&b,&c);if(ab){t=a;a=b;b=t;}if(bc){t=b;b=c;c=t;}printf(%d,c);return0;}NWPUPOJ第5题FileNameT005.CPPTitle找幸运数TimeLimit2000msMemoryLimit10000KBDescription如果一个整数逆序后得到的数值和原数值相同,则称之为幸运数。输入一个整数N(N10000)判断是否为幸运数,是的话输出”yes”,否则输出”no”。Input输入一个整数Output输出为字符串SampleInput1234SampleOutputnoncludeiostreamusingnamespacestd;intmain(){intA[10000],B[10000],i=0,j,x,n;scanf(%d,&x);do{A[i]=x%10;x=x/10;i++;}while(x!=0);n=i-1;i=0;for(j=n;j=0;j--){B[j]=A[i];i++;}for(i=0;in;i++){if(A[i]!=B[i]){printf(no);return0;}}printf(yes);return0;}NWPUPOJ第6题FileNameT006.CPPTitle奖金发放TimeLimit2000msMemoryLimit10000KBDescription企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?Input输入为实型(单位为万元)Output输出为实型,保留六位小数(单位为万元)SampleInput35SampleOutput2.500000#includeiostreamusingnamespacestd;intmain(){doublex,y;scanf(%lf,&x);if(x=10)y=10*0.1;if(10x&&x=20)y=1+0.075*(x-10);if(20x&&x=40)y=1.75+0.05*(x-20);if(40x&&x=60)y=2.75+0.03*(x-40);if(60x&&x=100)y=3.35+0.015*(x-60);if(100x)y=3.95+0.01*(x-100);printf(%lf,y);return0;}NWPUPOJ第7题FileNameT007.CPPTitle出租车费TimeLimit2000msMemoryLimit10000KBDescription西安出租车的收费标准:起步价(2公里以内,含2公里)为7元钱,超过2公里且在15公里以内(含15公里)时每公里收费1.5元,超过15公里时每公里收费2.1