POJ使用指南

更新时间:2024-01-23 15:08:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Hello,POJ!

毋庸置疑,学习程序设计就是奔着“程序员梦”去的。编程本质是运用计算机科学的基本思想求解问题、设计系统以及理解人类的思维行为和普适技能,核心是“实现”。因此,诸如“中国梦”、“程序员梦”是编写出来,即“Coding Now,Programming Future”。

在这个学期,你将尝试用“编写”的方式去“实现”,体验与过去完全不同的“实现”。在这个过程中,有太多的“if”不确定、有太多的“for”死循环、有太多的“bug”愁断魂,“实现”并不容易。

有人的地方就有江湖,有江湖的地方就有武林大会。POJ(Problems Online Judge)是学编程的江湖。在这里,做习题叫做“刷题”,习题做错叫做“被挖”(WA=Wrong Answer,结果错误),习题通过叫做“A了”(AC=Accepted,结果通过),简单习题称为“水题”,“刷一圈”指连续刷题12小时以上。

总会有人用一、两周的时间完成100题的OJ,这不叫“刷题”,叫“梦游”。2012学年,一个大三的哥哥将100题的源码整理出版了(长安校区超市旁的复印店),大一亲们蜂拥而至,一时间“A4纸贵”,交叉着下载、复制、粘贴、上传的能力训练,唯独不见“编写”。待到期末上机考试,亲们那双瞠目的眼睛与希望工程那双大眼睛神似,最终贡献了两位数的GDP。有道是出来混的,迟早要还,哥哥今昔完美毕业,亲们继续“梦游”。

没有实现,何来现实?

Hello,POJ!

POJ使用指南

记分规则

全部习题分十组,累计100题(C),每题0.6分。

提交规则

欲提交作业,只需将源程序文件上传到自己的网络硬盘中。在网络硬盘中建立一个名字为“CPP”的目录,此后所有要提交的POJ习题文件均上传于此。

注意:所有其它取名以及不把文件上传到该目录中的提交均会导致机器不能自动批阅。

文件规则

1.作业文件命名在“试题要求”中指定; 2.C/C++作业文件扩展名为“.CPP”;

3.除源文件外,一般的,无需再提交别的扩展名文件,例如:工程文件以及其它中间临时文件。 4.POJ不支持内含非标准的头文件,例如:stdafx.h文件。

5.POJ只允许单个程序单个独立源文件,多源文件程序导致编译错误。 6.关于MAIN函数

提交的所有源程序必须符合C99标准,其中Main 函数的写法要求如下: int main() { …

return 0; }

IO规则

POJ评阅习题时需要向程序提供输入数据,并获取程序的输出结果。因此提交的程序需按照每个习题具体的输入输出格式要求处理输入输出。

1.提交的程序总是使用标准输入流设备(stdin)和标准输出流设备(stdout)来处理输入输出,即对于C程序使用scanf和printf,C++程序可使用cin和cout或scanf和printf。

2.如果程序状态是“数据错误”或“结果错误”,有可能与没有正确使用输入输出格式有关。 3.如果使用cin和cout,由于其实现的复杂性,可能要比scanf和printf执行慢。 4.关于输出格式的说明 ? 对于输出示例中的汉字、字母及特殊符号要严格按要求输出;要区分字母的大小写(一般为小写),特殊符号要注意全角和半角之分。

? 输出一个数据:数据后加换行。 ? 输出一行数据:数据间用一个空格间隔(或指定的间隔符) ,行尾加换行(换行前可有一个空格)。

? 输出多行数据:每行的数据间用一个空格间隔(或指定的间隔符),行尾只加换行。

评阅规则

POJ采用“动态执行追踪”技术来动态跟踪程序的运行,并结合程序的输出结果判断程序的正确性。 一般的,编程者按照习题的要求仔细编写程序,并按指定的格式和提供的范例数据调试,如果能得到范例结果,通常就可以确定程序是正确的。但POJ评阅程序时采用多组数据同时测试,因此程序结果可能并不符合其要求,这时编程者需要再通盘考虑程序的方方面面,看看是哪个环节尚未得到解决。

例如T005.cpp 若输入1234 输出:no 输入:101 输出:??

下面是POJ评阅后反馈的信息: ? 等待评阅(WJ,Waiting Judge)

作业模式为等待评阅。竞赛模式为正在评阅。 ? 编译错误(CE,Compile Error)

程序有语法错误,没有通过编译和连接。 ? 系统错误(SE,System Error)

由于计算机系统方面的原因不能运行程序。例如程序运行要求的内存超过硬件限制。 ? 校验错误(VE,Validate Error)

不明确的原因不能获取程序的输出。 ? 运行时错(RE,Runtime Error)

程序运行过程中发生严重错误,例如异常、堆栈溢出、非法文件访问或内存访问、数组或指针越界、除数为0等。

? 内存错误(ME,Memory Limit Exceed)

作业模式为程序运行消耗内存过大,例如:堆分配失控等。竞赛模式为程序所使用的内存空间超过了题目的限定。

? 超时错误(TE,Time Limit Exceed)

作业模式为程序运行时间过长,例如:死循环等。竞赛模式为程序没有在限定时间内执行完。 ? 输出超限(OE,Output Limit Exceed)

程序产生了过多的输出。达到了标准输出文件五倍以上,一般是由于死循环导致的,注意:死循环也有可能导致TE。

? 结果错误(WA,Wrong Answer)

程序没有得到正确的输出结果。 ? 数据错误(PE,Presentation Error)

虽然程序的结果是正确的,但是输出结果的格式不对,应该是在某些位置上多输出了空格、TAB、回车字符、空行等。

? 结果通过(AC,Accepted)

程序运行得到了正确结果。

某些时候,程序可能同时出现几种错误。对于这样的情况,评测系统会根据错误优先级的高低返回结果。优先级:WJ>CE>SE>VE>RE>ME>TE>OE>WA>PE>AC

示例

FileName Title Time Limit Memory Limit Description Input

习题所要求的文件名 习题标题 程序运行时间限制 程序内存空间限制 习题描述 输入要求、描述

Output Sample Input Sample Output Hint

输出要求、描述 示例输入 示例输出 提示信息

POJ第1季:水题

NWPUPOJ第1题 FileName Title Time Limit Memory Limit Description Input Output Sample Input Sample Output NWPUPOJ第2题 FileName Title Time Limit Memory Limit Description Input Output Sample Input Sample Output T002.CPP 圆及圆球等的相关计算 2000ms 10000KB 输入圆半径r和圆柱高h,计算圆周长l、圆面积s、圆球表面积sq、圆球体积vq和圆柱体积vz 输入实型,用空格分隔 按顺序输出圆周长、圆面积、圆球表面积、圆球体积、圆柱体积,保留2位小数,结果每行输出一个 1.5 3 9.42 7.07 28.27 14.14 21.21 T001.CPP 计算A+B 2000ms 10000KB 计算A+B 输入整数A和整数B的值,用空格隔开 输出A+B的结果 1 2 3

NWPUPOJ第3题 FileName Title Time Limit Memory Limit Description Input Output Sample Input Sample Output NWPUPOJ第4题

T003.CPP 计算成绩 2000ms 10000KB 输入某学生的数学、英语和C语言课程成绩,输出该学生三门课总成绩和平均成绩 输入为实型,用空格分隔 输出为实型,保留六位小数,结果每行输出一个 90 82 74 246.000000 82.000000

FileName Title Time Limit Memory Limit Description Input Output Sample Input Sample Output NWPUPOJ第5题 FileName Title Time Limit Memory Limit Description Input Output Sample Input Sample Output

NWPUPOJ第6题 FileName Title Time Limit Memory Limit Description T004.CPP 找最大数 2000ms 10000KB 找出三个数据A,B,C中的最大数 输入为整型,用空格分隔 输出为整型 100 29 712 712 T005.CPP 找幸运数 2000ms 10000KB 如果一个整数逆序后得到的数值和原数值相同,则称之为幸运数。输入一个整数N(N<10000)判断是否为幸运数,是的话输出”yes”,否则输出”no”。 输入一个整数 输出为字符串 1234 no T006.CPP 奖金发放 2000ms 10000KB 企业发放的奖金根据利润提成。利润(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,求应发放奖金总数? 输入为实型(单位为万元) 输出为实型,保留六位小数(单位为万元) 35 9.250000 Input Output Sample Input Sample Output

NWPUPOJ第7题 FileName Title Time Limit Memory Limit Description

T007.CPP 出租车费 2000ms 10000KB 西安出租车的收费标准:起步价(2公里以内,含2公里)为7元钱,超过2公里且在15公里以内(含15公里)时每公里收费1.5元,超过15公里时每公里收费2.1元,不

足1公里按照1公里收费。 Input Output Sample Input Sample Output

NWPUPOJ第8题 FileName Title Time Limit Memory Limit Description Input Output Sample Input Sample Output

NWPUPOJ第9题 FileName Title Time Limit Memory Limit Description Input Output Sample Input Sample Output T009.CPP 成绩转换 2000ms 10000KB 百分制成绩转换为五分制成绩,转换规则为:90~100:A;80~89:B;70~79:C;60~69:D;60分以下:E。输入百分制成绩,输出对应的五分制成绩。 输入为整型 输出为字符型 87 B T008.CPP 是该年的第几天? 2000ms 10000KB 输入一个日期(YYYY-MM-DD)输入一个日期,判断是这一年的第几天? 输入为整型,以”-”隔开 输出为整型 2013-6-17 168 输入为实型(单位为公里) 输出为实型,保留六位小数(单位为元) 9.2 19.000000 NWPUPOJ第10题 FileName Title Time Limit Memory Limit Description T010.CPP 求建筑高度 2000ms 10000KB 有4个圆塔,圆心分别为(2,2)、(-2,2)、(2,-2)、(-2,-2),圆半径为1。这4个塔的高度为10m。塔以外无建筑物。请编写程序,输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。

2-202-2 Input Output Sample Input Sample Output 输入为实型,以”,”隔开 输出为整型 2,2.5 10

本文来源:https://www.bwwdw.com/article/0x6o.html

Top