HELLO 洛谷 全新旅途开启~

我与洛谷

洛谷这个OJ(Online Judge)是我看某学长的动态规划PPT时找到的,然后我就入坑了……
这个OJ与leetcode最大的不同便是:必须把程序写完整(包括函数、主函数、输入输出),而在leetcode中只需关注核心函数本身。
此外,该OJ只能提交,不能在网页上调试并修改,所以对于我这个好久没写过完整程序的咸鱼来说很不友好。

在该OJ上刷了一下午的题,给我的感觉是:题不难(对复杂度的要求没有Leetcode高),难在把程序写完整且不犯错。很多平常注意不到的问题在真正写代码时就会显现,下面我举几个小例子:

实例1 运算符优先级

1
2
3
int a,b;
cin>>a>>b;
cout<<a>b?a:b<<endl;

对运算符优先级很熟的小伙伴就会发现line3是有问题的,因为移位运算符”<<”的优先级比”>”要高,显然这不是我们的初衷,因此加小括号来改变优先级就很重要!
ps:点我查看”运算符优先级表”

实例2 C语言中的if(表达式)

请问以下程序的输出为何?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
int main(){
int a=4,b=2;
if(!a) //a!=0
printf("1");
if(a%b){ //if(0)
printf("FALSE");
}
if(a%b==0){ //if(1)
printf("TRUE");
}
return 0;
}
//OUTPUT: TRUE

这个例子告诉我们,不要轻易简化写法,很容易就把表达式a%b与a%b==0认为是等价的了(实际上它们是对立的)。

对洛谷的First Impression

1.相较于Leetcode的简约优雅,洛谷的界面看起来有点古老严肃。
2.卧槽,代码不提交就不会保存,f**k
3.把题目分了等级,从入门到USACO,闯关制。感觉像是…游戏平台?
4.5个AC例子,每通过一个20分,全通过会有游戏通关动画。
5.竞赛活动丰富,为ACM之旅增添乐趣。

有如此好的OJ,还等什么,注册个号子开始闯关吧~
我的ID:264731
一起来打怪升级吧~
Link:
点击访问洛谷官网
点击访问力扣官网