欢迎大家参加编程之美 2015 挑战赛!
今年,大赛分资格赛,初赛,复赛和决赛四部分。资格赛,初赛和复赛在网络比赛平台上举行。今年的网络平台包括 hihoCoder 平台和 Code Hunt 平台。两种平台下晋级下一轮比赛的比例一致。同时,我们欢迎大家同时利用两个平台参赛,我们将选取两个平台中排名较高的一个平台作为有效分数。
hihoCoder平台的参赛语言包括C++、C、C♯和Java。
对于每一阶段的比赛中的各题,每道题分数根据难易程度有所不同。大赛的赛题的解答由参赛者在线提交至裁判系统运行,每一次运行会被判为正确或者错误。每道题均包含小/大两组规模不同的输入输出数据。小数据结果正确和大数据结果正确的分数不同。
参赛者在各轮比赛中的排名由分数和提交时间决定。分数高者排名高;相同分数者提交程序用时较少者(下面称为“罚时”)排名较高。对于小数据判决结果,裁判系统会在运行后立即通知参赛者;如果错误之后再次提交,每错误一次罚时10分钟。大数据模式的判决结果和代码在该轮比赛结束之后立即公开。对于一个新提交,具体的排名及得分逻辑如下所述:
如果编译错误,忽略此提交
如果在小数据上运行出错,无论之前是否有过正确的提交,对此题加10分钟“出错罚时”
如果在小数据上结果正确:
如果是第一次正确的提交,记“提交罚时”为当前比赛已过去的时间
如果之前有过正确提交,替换“提交罚时”为当前比赛已过去的时间
无论在大数据上运行正确与否,都不影响罚时
比赛结束时:
以最后一次正确通过小数据的提交为准,选手的得分为所有正确通过的大小数据分数的总和
对于每一题,选手的罚时为:
如果小数据没有通过,罚时为0
如果小数据通过了,无论大数据结果如何,罚时为“出错罚时” + “提交罚时”
选手总的罚时是所有题目罚时的总和
注:对于资格赛,只要做对任意一题之小数据结果就自动进入初赛,但仍保留大数据模式供参赛选手练习之用;资格赛结束时,依然会给出由分数 + 罚时进行的排名。
注意事项:
只通过标准输入(STDIN)和标准输出(STDOUT)进行输入和输出数据。您的程序应该通过STDIN读入数据,并通过STDOUT输出数据。请不要访问其他资源例如磁盘文件;可能导致不确定的结果
严格依照题目描述的格式输入输出数据。您的程序应该严格依照题目描述的格式输入输出数据。不符合描述格式的输出会导致系统判定您的程序为Wrong Answer
样例输入/输出不包含系统全部的评测数据 题目中样例输入/输出只是为了编程者能更清楚了解题目的输入输出格式
您需要编写一个类名为Main(大小写敏感)的public类,类中包含入口main函数。请参考附录中的Java程序。
判断结果 | 缩写 | 含义 |
Accepted | AC | The solution has produced output that the judge system or a checker program accepts as correct. |
Time Limit Exceeded | TLE | The solution has run for longer time than permitted. This means either the time spent on all test cases exceeds the overall limit or that spent on a single test case exceeds the per-case limit. |
Memory Limit Exceeded | MLE | The solution has consumed more memory than permitted. |
Wrong Answer | WA | The solution has not produced the desired output. |
Runtime Error | RE | The solution has caused an unhandled exception (as defined by the runtime environment) during execution. |
Output Limit Exceeded | OLE | The solution has produced excessive output. |
Compile Error | CE | The solution cannot be compiled into any program runnable by the judge system. |
System Error | SE | The judge system has failed to run the solution. |
Validator Error | VE | The checker program has exhibited abnormal behavior while validating the output produced by the solution |
Given two integers a and b, calculate their sum a + b.
The input contains several test cases. Each contains a line of two integers, a and b.
For each test case output a+b on a seperate line.
1 2 3 4 5 6
3 7 11
#includeint main(void) { int a, b; while(scanf("%d%d", &a, &b) != EOF) { printf("%d\n", a + b); } return 0; }
#includeusing namespace std; int main(void) { int a, b; while(cin >> a >> b) { cout << a + b << endl; } return 0; }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext()) { int a = in.nextInt(); int b = in.nextInt(); System.out.println(a + b); } } }
Code Hunt 的参赛语言为 C♯ 和 Java。
在每一轮的比赛中,Code Hunt 将会为每组选手提供难易程度不同的多组题目,每一组题目内会包含若干子问题,每一个子问题也会有一个难度系数,参赛选手需要按照要求,写出代码,解决这些子问题。
当选手提交代码并被检测通过后,系统会给出评分;如果提交的代码有错误,系统会给出相应提示。提示将会根据提交代码的不同而有所不同。
在每一轮的比赛中,题目都会按照由简到难的顺序排列。
当代码检测通过后,系统会根据代码的质量给出 1,2,3 不同等级的评判。评判标准将主要依据参赛选手给出代码的清晰度和简洁性以及你是否是第一个完成这个题目的选手。
检测未通过的代码,不得分。
得分的计算公式: (k*sector + level) * (d + rating)
其中,K 代表每一组题目的难度,sector 是组号,level 是每一组内子问题的题号,d 是一个大于等于 3 的常数,rating 是系统对代码质量打的分数 (1,2,3) 。
举例:
对于第 2 组第 4 题 (02.04),该组的难度为 1,选手提交代码的质量得分为 3,常数d这里设定为 5,则所得分数为:
(1 * 2 + 4) * (5 + 3) = 48
提交代码后,参赛选手可以返回已经提交的代码,继续修改,以期得到更高的质量分数。
每一轮比赛过后,参赛选手都可以在积分榜上查看自己的排名情况。将会根据选手得分高低进行排名。
代码的提交次数将不影响参赛选手的得分和排名。
在得分相同的情况下,将会依据以下两个因素进行排名:
参赛选手完成的所有问题中,难度系数高者排名优先;
参赛选手完成最后一道题的时间,用时少者排名优先。
除此之外,时间不会影响选手排名。
在得分相同的情况下,将会依据以下两个因素进行排名:
在每一轮比赛中,得分较高的选手晋级下一轮比赛。晋级下一轮比赛的人数将会根据Code Hunt平台和hihoCoder平台的参赛人数,按照相同的比例分别决定。
非常抱歉!本站不支持旧版本IE浏览器~~建议使用IE10/IE11/Chrome/Firefox/Safari等高级浏览器浏览。