竞争性编程概论

这是一篇介绍性文章,可让您足够值得去参加任何编程竞赛。 学生对此并不了解,只有IIT,NIT,IIIT等优秀大学的学生才能练习并获得IT部门中薪水最高的工作。 本文将让您知道该系统的工作原理,以及如何在算法领域成为专家。

我以CodeChef为例作为平台。 请按照以下步骤操作:

  1. 在www.codechef.com上注册为新用户。 单击最右侧的新用户按钮。 像其他注册表格一样填写表格。

2.现在,您可以进入主页,以具有竞争力的编码器开始您的旅程。 打开www.codechef.com,然后单击“练习”按钮或转到https://www.codechef.com/problems/school。 您可以单击“成功提交”字段名称,以根据成功提交的数量对问题进行排序。 这将根据问题的难度对问题进行排序。 我们将从最简单的问题开始,在您的执业生涯中,您会逐渐增加解决问题的难度。 或者,您可以直接转到url:https://www.codechef.com/problems/school?sort_by=SuccessfulSubmission&sorting_order=desc

3.单击最容易解决的问题和最简单的问题:生命,宇宙和一切。

4.您可以使用自己喜欢的编程语言来创建提交或解决方案。您可以在系统上使用编辑器,也可以使用CodeChef通过codechef.com/ide提供的IDE。

5.现在最重要的部分出现了。 请紧记,我将告诉您程序如何将值作为输入,以及如何获取计算值作为输出。

我使用C ++作为编程语言来向您解释如何进行输入输出。 使用以下命令将bits / stdc ++。h添加为头文件,并在程序顶部将名称空间的第二行添加:

#include

使用名称空间std;

这消除了您对头文件做什么的所有麻烦。

6.我以整数作为数据类型的输入和输出示例。 (有关完整详情,请访问http://www.cplusplus.com/doc/tutorial/basic_io/)

我正在与您分享我的代码的屏幕截图。 (您应该自己编写代码并提交,最好动手操作)

7.这是上面代码的简要说明:

i)int main(){}创建函数,该函数运行以接受输入并给出输出。 您可以在{}中编写代码。

ii)诠释i; 声明整数变量。

iii)我在这里使用了while循环。 (谷歌一下)

iv)对于输入/输出,cin >> i; 在变量i中取一个整数。 cout << i << endl; 在变量i中给出值作为输出。

v)您需要注意的一件事是,输出必须使用endl以换行符结尾。

vi)返回0; 需要成功终止。

v)和vi)是所有编程站点都遵循的约定。

8.通过提供自定义输入来检查程序。 选中自定义输入前面的复选框,然后将要作为输入提供的测试用例放在文本框中。 单击运行,查看程序给出的输出。

9.如果找到正确的输出,请复制代码。

单击您要为其提交代码的问题页面上的提交按钮。 (您也可以在“提交”按钮下方查看排名靠前的成功提交的内容,以供参考)

10.这将打开URL:https://www.codechef.com/submit/TEST

我选择的语言是c ++(gcc-4.3.2)。 您可以选择它作为编写程序所用的语言。将解决方案粘贴到上面的文本框中,然后单击“提交”按钮。

11.这将带您到裁决页面,该页面将在您看不到的其他测试用例中测试您的代码。 可能要花一些时间,最后如果解决方案正确,您会得到的。

如果您的程序没有提供期望的输出,其他结论是错误答案;如果程序花费的时间比预期的多(在问题页面中给出了问题的时间限制),则超过时间限制;如果出现运行时错误,则为运行时错误在执行程序时。

12.恭喜您解决了CodeChef上的第一个问题,并将您迈出了竞争性编程领域的第一步。 很快,您将沉迷于这项运动,并日以继夜地思考问题,很长一段时间以来,您都会一直在回答错误,找到失败的测试用例。

注意:我还要澄清的一件事是:提交代码时,它会在许多测试用例中进行测试,而这些测试用例对您来说是隐藏的。 即使在问题陈述中获得给定测试用例的期望输出,代码中也可能存在一些错误,这些错误可能导致某些测试用例的意外输出。 更正您的算法,然后再次提交。

13.现在,您可以解决平台上的任何问题。 您只需要阅读算法,阅读别人的代码,并始终尝试通过逐步解决问题的程度来进行改进。 然后,您可以在Codeforces,Hackerrank,Hackerearth等网站上参加他们的每月竞赛和其他竞赛,并赢得令人兴奋的奖品。 这将帮助您获得软件开发人员的工作,因为前两轮的面试仅包括算法面试。

祝您未来一切顺利。 如果您需要有关竞争编码的任何帮助,请发表评论。 我非常乐意为您解决问题。

请关注SimpleWords,以获取更多教程和其他文章。