OJ常见问题及必须认识的对拍处理水题
HDUOJ:
常见问题及解答Q: Online Judge(以下简称OJ)支持哪些语言? A: 目前为止,HDOJ支持C、C++、Pascal和Java四种语言。 Q: 有什么条件判断我的程序是在OJ上运行吗? A: 您可以使用ONLINE_JUDGE这个条件定义。下面是使用举例:
C/C++
#ifdef ONLINE_JUDGE 此间的语句只有在OJ上的才会被编译 #endif Pascal {$IFDEF ONLINE_JUDGE} 此间的语句只有在OJ上的才会被编译 {$ENDIF} Q: 在OJ上我能使用哪些输入输出? A: HDOJ上只能使用标准输入输出,您的程序不允许操作文件,否则将被判为'Runtime Error'或者'Wrong Answer'。 比如要通过1000这个题目,您可以使用以下几种形式的程序:
C++ 代码:
#include <iostream> using namespace std; int main() { int i, j; while(cin >> i >> j) cout << i + j << endl; return 0; } C 代码: #include <stdio.h> int main() { int i, j; while(scanf("%d%d", &i, &j) == 2) printf("%d\n", i + j); return 0; } Pascal 代码: PROGRAM p1000(intput, output); VAR i, j : INTEGER; BEGIN WHILE NOT EOF(input) DO BEGIN Readln(i, j); Writeln(i + j); END; END. Java 代码: import java.util.*; class Sum { public static void main(String args[]) { Scanner cin = new Scanner(System.in); int a, b; while(cin.hasNextInt()) { a = cin.nextInt(); b = cin.nextInt(); System.out.println(a + b); } } } 或者 import java.util.*; public class Main { public static void main(String args[]) { Scanner cin = new Scanner(System.in); int a, b; while(cin.hasNextInt()) { a = cin.nextInt(); b = cin.nextInt(); System.out.println(a + b); } } } 关于Java的特别说明: 1、HDOJ上使用的是JDK 1.50 Update 8多国语言版。 2、您提交的Java程序必须是单个文件的,也就是所有的类必须写在一个文件里。但是必须有一个类的里面必须包含一个名字为'main'的静态方法(函数),这个方法是程序的入口。 3、如果您将主类申明为public公有类,则这个类名必须是'Main'(注意大小写,请参看第二个程序)。 4、每个题目对于Java程序的时间和内存限制一般都会放宽的。但是即便如此,有些题目还是不适合用Java来解,对于这些题目我们建议您使用编译性语言来解。 Q: 我提交了程序,OJ回复的那些评判结果是什么意思? A: 下面是常见的OJ评判结果以及它们表示的意思: Queuing : 提交太多了,OJ无法在第一时间给所有提交以评判结果,后面提交的程序将暂时处于排队状态等待OJ的评判。不过这个过程一般不会很长。 Compiling : 您提交的代码正在被编译。 Running : 您的程序正在OJ上运行。 Judging : OJ正在检查您程序的输出是否正确。 Accepted (AC) : 您的程序是正确的,恭喜! Presentation Error (PE) : 虽然您的程序貌似输出了正确的结果,但是这个结果的格式有点问题。请检查程序的输出是否多了或者少了空格(' ')、制表符('\t')或者换行符('\n')。 Wrong Answer (WA) : 输出结果错,这个一般认为是算法有问题。 Runtime Error (RE) : 运行时错误,这个一般是程序在运行期间执行了非法的操作造成的。以下列出常见的错误类型:
Time Limit Exceeded (TLE) : 您的程序运行的时间已经超出了这个题目的时间限制。 Q: 为什么我的程序在VC++/VC下能正常编译,但是使用G++/GCC就会出现'Compilation Error'? A: GCC/G++和VC/VC++有所不同,例如:
Q: 我想参加OJ的在线比赛,如何参加比赛呢? A: HDOJ和其他OJ不同。在HDOJ上有两种类型的比赛:一种是public公开比赛,另外一种是private内部比赛。所有HDOJ注册用户均可以参加公开的比赛,但是一般只有授权用户才可以参加内部比赛(一般是杭电的学生和受邀请的外校用户)。 要参加公开比赛,您只要进入比赛页面,找到您要提交的题目,用您的HDOJ账号直接提交就行了。 参加内部比赛的用户将会在比赛前收到比赛组织者提供的账户和密码,您用这个账户和密码才能提交。 Q: 我已经在主页上的"User Login"中登录了,但是为什么我还是不能参加比赛呢? A: 这种情况一般只会出现在内部比赛中。您登录的那个是HDOJ的练习账号,不是那场比赛的账号。当系统就那场内部比赛要求您进行身份认证时,请输入正确的比赛账号和密码登录就行了。 注意:浏览器所有HDOJ相关页面被关闭或者您长期(一般是20分钟)处于未操作状态的时候,您的所有认证将失效,这时您只要重新登录就行了。 Q: 为什么我用scanf/printf的组合能得到'AC'的程序换成cin/cout就得到了'TLE'? A: 一般情况下,C语言运行时I/O函数比C++的效率高一些,所以处理大数据量的时候,建议使用scanf/printf组合。 Q: 我用Borland C++ 3.1或者Borland Pascal 7.0写程序的,那么我如何才能避免得到'Compilation Error'? A: 我们服务器上使用的是Borland Delphi 7编译器。您需要注意以下几个方面:
Q: 如何使用64位整数类型? A: 服务器支持64位有符号和无符号类型的整数。
|
求 1+2+3+……+n = ?
数据生成器:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int n;
srand((int)time(0)); //调用srand()函数,以系统时间为随机种子
n = 1 + rand()%10000; //随机生成一个1到10000的自然数
printf("%d\n",n); // 输出随机生成的自然数
return 0;
}
//编译运行后,生成rand.exe可执行文件 然后在批处理文件中 直接调用 rand.exe>data.in即将上边的输出结果重定向到data.in文件中
暴力程序:算法 是直接从1加到n,执行n次循环 时间复杂度为 O(n)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,n;
long int sum = 0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum += i;
}
printf("%d\n",sum);
return 0;
}
//编译运行后,生成std.exe可执行文件 然后在批处理文件中 直接调用 std.exe<data.in>std.out即将从data.in中获取输入,然后将输出结果重定向到std.out文件中
高效算法: 算法为 1+2+……+n = n*(n+1)/2, 时间复杂度为O(1)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n;
long int sum = 0;
scanf("%d",&n);
sum = n*(n+1)/2;
printf("%d\n",sum);
return 0;
}
//编译运行后,生成my.exe可执行文件 然后在批处理文件中 直接调用 my.exe<data.in>std.out即将从data.in中获取输入,然后将输出结果重定向到my.out文件中
批处理文件 test.bat 内容如下
@echo off
:loop
rand.exe>data.in
std.exe<data.in>std.out
my.exe<data.in>my.out
fc my.out std.out
if not errorlevel 1 goto loop
pause
goto loop
最后将这三个.exe文件和批处理文件放到同一个目录下 运行批处理文件即可
OJ常见问题及必须认识的对拍处理水题的更多相关文章
- 九度OJ 1169:比较奇偶数个数 (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:9459 解决:3146 题目描述: 第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES. 输入 ...
- 九度OJ 1155:鸡兔同笼 (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2032 解决:1369 题目描述: 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外).已经知道了笼子里面脚的总数a,问笼子里面 ...
- 九度OJ 1049:字符串去特定字符 (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8499 解决:3860 题目描述: 输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果. 输入: 测试数据有多组,每组输入字符串s和 ...
- Light oj 1138 - Trailing Zeroes (III) 【二分查找好题】【 给出N!末尾有连续的Q个0,让你求最小的N】
1138 - Trailing Zeroes (III) PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 ...
- [Comet OJ - Contest #6 D][48D 2280]另一道树题_并查集
另一道树题 题目大意: 数据范围: 题解: 这个题第一眼能发现的是,我们的答案分成两种情况. 第一种是在非根节点汇合,第二种是在根节点汇合. 尝试枚举在第几回合结束,假设在第$i$回合结束的方案数为$ ...
- 程序猿常识--OJ系统和ACM测试考试大全
OJ它是Online Judge缩写系统,来在线检測程序源码的正确性. 著名的OJ有RQNOJ.URAL等. 国内著名的题库有北京大学题库.浙江大学题库等. 国外的题库包含乌拉尔大学.瓦拉杜利德大学题 ...
- 各种OJ网站汇总
acmicpc.info acmicpc.info http://acmicpc.info/archives/224 此网站聚合了各种ICPC相关信息. 国内Online Judge 用户体验极佳的v ...
- 肝题与oj
oier很多,oj也很多,这些oj分别有怎样的特点,我们又该怎样选择呢?请各位客官听在下分解 (我主要说一些比较大众的oj) (注意:难度与界面友好度为个人意见,不喜勿喷) 1.入门级 1.NOIop ...
- 软工案例分析之OJ
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 案例分析作业要求 我在这个课程的目标是 和我的团队开发一个真正的软件,一起提升开发与合作的能力 这 ...
随机推荐
- Github Https方式push错误”Empty reply from server”
1 2 3 4 5 6 7 8 9 10 2014-11-19 20:41:30.130 GitHub for Mac Login[2595:326257] AskPass ...
- QBImagePickerController 用法
// // ViewController.m // QBImagePickerControllerDemo // // Created by Tanaka Katsuma on 2013/12/30. ...
- JSP HTML区别
1.最简单的区别就是,HTML能直接打开,jsp只能发布到Tomact等服务器上才能打开2.定义上HTML页面是静态页面可以直接运行,JSP页面是动态页它运行时需要转换成servlet.3.他们的表头 ...
- gridview checkbox从服务器端和客户端两个方面实现全选和反选
GridView中的checkbox的全选和反选在很多的地方都是要求实现的,所以下面就从服务器端和客户端两个方面实现了checkbox的选择,感兴趣的朋友可以了解下,希望本文对你有所帮助 GridVi ...
- 【译】iOS人性化界面指南(iOS Human Interface Guidelines)(一)
1. 引言1.1 译者自述 我是一个表达能力一般的开发员,不管是书面表达,还是语言表达.在很早以前其实就有通过写博客锻炼这方面能力的想法,但水平有限实在没有什么拿得出手的东西分享.自2015年7月以来 ...
- BZOJ 1483 梦幻布丁
Description \(N\)个布丁摆成一行,进行\(M\)次操作.每次将某个颜色的布丁全部变成另一种颜色的,然后再询问当前一共有多少段颜色.例如颜色分别为\(1,2,2,1\)的四个布丁一共有\ ...
- QiQi and Bonds
只有链接:http://sdu.acmclub.com/index.php?app=problem_title&id=961&problem_id=23685 题意:现在有n个QiQi ...
- WebService引擎Axis2完美教程
1.http://wenku.baidu.com/link?url=O05r69TGaLmrJrjJqGz-5EASox8FhhUO6i97xoUOV2dcbh8BEnOlX2EN3nuYGE_3HE ...
- Eqs (哈希)
Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 10695 Accepted: 5185 Description Cons ...
- LA 4726 再看斜率优化
感觉最近一批解题报告没写,现在慢慢补吧,算是noip前攒攒rp了 首先感到深深的自责,因为之前对斜率优化没有深入的理解,只是记住了一般步骤,并没有完全了解为什么这样做 先就这道题目而言 首先这种序列题 ...