#1. Hello World && 萌新XJTUOJ入坑指南

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: JM233333

题目描述

Hello World

这是一道环境测试题,你只需要输出 Hello World 就可以了。输出行末是否换行不影响答案正确。

几种常见编程语言的示例

// C
#include <stdio.h>
int main() {
    printf("Hello World");
    return 0;
}
// C++
#include <iostream>
using namespace std;
int main() {
    cout << "Hello World";
    return 0;
}
// Java
public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}
# Python
print("Hello World")

萌新XJTUOJ入坑指南

前言

欢迎来到XJTUOJ!如果你是萌新,请你根据此处的 入坑指南 妥善使用XJTUOJ,不然可能会撞到难题上再也爬不出来哟~

另外也欢迎加入XJTUACM大群(QQ群号:526350936),所有XJTUACM的相关信息(包括校赛、小学期、学习资料分享等)都会在此群内公布,群内也有很多大佬常驻,为你解答计算机相关的各种疑问。建议萌新在群内实名,否则在群内求助答疑可能不被受理。

本指南会 不定期更新 ,且更新不会发布通知,还请同学们自己注意查看。

题库概况

在XJTUOJ的“题库”栏目中有全部的编程题,包括:

第 100~999 题 是不涉及算法数据结构知识的编程水题,适合 编程语言初学者 ,也就是 对C++/Java语言其中之一的基本语法还不够熟悉编程还不够熟练,常在简单编程实现上卡壳,无法较快速地做出水题 的同学刷题来提高基本编程能力。

第 1000 题 是用来测试环境和语言对略微超出 int 范围的数据的处理的,例如 C++ 语言是使用 long long 类型。

第 1001~1013 题 是2019年XJTUACM校赛原题,其中 很多题目不适合萌新 ,不要直接顺着ABC……的顺序开始做题,比如A题就很难。如果你真的想做校赛题目,建议按照 G → C → J → L/M → H → B/D → A → E/I → K/F 的顺序挑战,这是2019校赛题目的一个大概的难度顺序。具体地讲:

  • C, G, J 是签到题和水题;

  • B, D, H, L, M 是基础算法题;

  • A, E, F, I, K 是难度高的题。

第 1014~1116 题 是2019年XJTUACM小学期的作业及考核原题,每天的题目都是从 A 起难度有序递增的,例如第 1014~1019 题难度递增、第 1020~1025 题难度递增,但不同序列之间的难度是不可比较的,每天是不同的知识点。具体地讲:

  • 每天靠前的题目都适合 算法初学者 ,也就是 具备C++/Java语言其中之一的语法基础,以入门学习算法数据结构的知识为目标 的同学;

  • 每天靠后的题目都适合 竞赛选手 ,也就是 具备一定的算法基础,以通过选拔加入XJTUACM校队为目标 的同学;

  • 另外存在少部分最靠后的题的难度过大,往年小学期考核中事实上无人AC,建议在OJ的“比赛”栏目中自行参考往年小学期作业的完成榜单,避免掉进坑里;

  • 如果你成功掉进坑里,还是可以通过看AC代码来学习一个,或者在群里问一下,一般大佬都喜欢别人问有点挑战的题(而且不做难题,怎么学会做难题呢)

建议同学们按照每天的难度顺序来做小学期的作业题目。在XJTUACM大群中有往届小学期的教学课件可供参考,建议边学边做,因为涉及很多算法与数据结构的相关知识。

第 1117~1134 题 是2020年寒假XJTUACM萌新向算法培训课程的部分作业及考核原题。这些题目普遍比较简单,除 第 1134 题 外都很适合 算法初学者 练习。

第 1138~1146 题 是2020年XJTUACM校赛线上热身模拟赛的原题,靠前的题目适合 算法初学者 练习,靠后的题目则适合 竞赛选手 练习。此次线上赛的题目难度是按块有序的,建议按照从前往后的顺序挑战,但卡题时可适当向后跳过 1~2 题。

第 1147~1248 题 是2020年XJTUACM小学期的作业及考核原题,难度比2019年XJTUACM小学期难度略高。

第 1250~1264 题 是2021年XJTUACM校赛原题,其中难度无序但整体难度较低。具体结果请参考群内榜单,并且做题时请注意换行符带来的影响,部分题目数据是在windows环境下生成但评测环境为linux。

关于题库的分类标签

注意“题库”界面的右上角,有一个“显示分类标签”的开关,打开后会显示每个题目的 归属考察的知识点 。点击标签可以筛选所有该分类标签的题目。你可以据此进行针对性的练习。

  • 黑色 标签用来标记题目的归属,例如“2019校赛”、“2019小学期”等;

  • 蓝色 标签用来标记题目考察的大的知识点,例如“分治”、“搜索”、“数据结构”等;

  • 紫色 标签用来标记题目考察的更具体的知识点,例如“二分查找”、“BFS”、“线段树”等。

关于题库的学习资源共享

在XJTUOJ的题库上,你可以自由下载每道题的测试数据,可以自由查看别人的提交记录。当你WA到怀疑人生时请妥善利用这些共享资源。

相当数量的题目的测试数据中都包含小数据,方便你在本地测试自己的代码。

无脑复制粘贴他人代码是不可取的,这对你的提高毫无帮助,应当认真学习并理解他人代码的算法思想,并尝试自己重新编写程序,将算法思想自主实现,在这个过程中你才能获得突破。另外,即便是你自主AC了也可以看一看别人的提交,尤其是ACM校队成员的提交,吸收不同实现代码的长处。

关于比赛

在XJTUOJ的“比赛”栏目中有全部的比赛历史,包括:

  • 自2019年起,历年的XJTUACM小学期作业及考核;

  • 自2020年起,历年的XJTUACM校赛。

你可以通过查看比赛的榜单,了解每道题目在当时的AC情况,以此更高效地在题库中刷题训练。

注:OJ中有校赛的题目,但是没有比赛历史,没有榜单,当时的榜单可以从XJTUACM大群群文件处获取。

关于往届校赛和小学期

2018年及更早:

  • 由于旧OJ服务器数据毁坏,2018年及更早的小学期和校赛题目均已遗失,非常遗憾。

2019年:

  • 2019年校赛题目的难度整体偏高,对萌新不太友好,我们将在2020年校赛做出改进,大幅下调中低档题目的难度,以此大幅提高萌新级选手的参赛体验,届时欢迎大家报名!报名信息将在比赛开始前数周在XJTUACM大群公布。

  • 2019年小学期的低中级题目难度普遍较为友善,且有对应知识的课件和大部分题目的官方题解,因而非常适合萌新。

  • 2019年校赛题解及2019年小学期题解:https://blog.jm233333.com/categories/ACM/XJTUOJ/

  • 2019年小学期课件可以从XJTUACM大群群文件处获取。

2020年:

  • 于2020年寒假ACM校队和仲英学辅联合举办了寒假ACM课程,此课程十分基础,并且从C语言开始讲起直到最简单的排序/贪心/枚举算法,适合新人入门或者练习编程能力。所有课程视频均有回放,在up主主页可以看到。

  • 由于疫情原因,2020年校赛未能举办,但取而代之的举办了线上模拟赛。试题可以在比赛栏目中查找,XJTUACM群中可找到题解。

  • 由于校赛未办,2020年小学期难度较往年有所上升。其中基础作业题部分大部分是复用原题,但是进阶作业题和考试题均为新题,可以在比赛中寻找当时的作业/考试内容。

  • 其中,小学期课程每天的作业题通常情况下按难度排序。考试题则由基础部分和进阶部分构成:前五题为基础题,我们认为无基础但参加完小学期的同学应当有能力完成其中的大部分题目。后六题为选拔题,用以区分校队选手。建议有算法基础/有志向参与ACM竞赛的同学参考尝试。

关于XJTUACM校队选拔考核

通常情况下,新生需要在当年校赛或小学期其中之一的考核中取得极其优异的成绩,才能被选拔加入校队。参与考核对年龄或年级基本上没有限制,但是根据 ICPC 组委会的规定,硕士二年级及以上的同学是无法参加 ACM-ICPC 区域赛的。

每年的入队名额是不固定的,基本上取决于当年校队的退役人数。

每年的具体考核规则请参照每年的公告说明。

另外,特别优秀者(例如 CodeForces 橙名乃至红名,具体水平要求视当年情况而定)可能可以免试直接入队。如果你认为你可能满足条件,请单独联系当届的校队负责人。但是如果发现你提供的能力证明存在造假(例如 CF 代打上分并在后续的训练及比赛中暴露出个人能力与 CF rating 严重不符),我们会永久禁止你参与我校的一切 ACM 活动,并且可能会将你的造假行为告知学院教务。