蓝桥杯中常见坑点

在这里插入图片描述

1.main函数里必须在结尾写上"return 0;"

这是写在规则里的,但是一般不会让你知道
在这里插入图片描述
平时不加return 0;代码会给你优化,但在蓝桥杯中不写return 0;会出现编译错误的

2 一定要开long long(这样能避免超出数据范围而得不到对应的分数了)

step1:把main函数前面的int换成signed
step2:在代码开头,写上#define int long long
这样做完之后代码中的所有int都会被替换成long long

在这里插入图片描述
比如说a[i]范围是1e6,那么求和的话1e6*1e6=1e12(超过了Int的范围)
在这里插入图片描述
麻烦的方法是直接都改成long long
在这里插入图片描述
还有一种方法是用ll替换long long,但是违背你平常的习惯
在这里插入图片描述

还有一种方法是直接把所有Int替换成long long
这样你写的是int,但在编译时会全部换成long long
但是这样你运行的话编译器还是会报错的因为这里你写的是int main()
在这里插入图片描述
C++规定 main()函数前面必须是32位的整型
在这里插入图片描述
可以用signed 在C++中也是int的意思 也是32位的整型
这里用signed可以避免被替换成64位整型的long long

3 关于输入输出的速度问题:

(1) 都用C语言的输入输出方式(麻烦,不建议)
(2)写上三行代码关流
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
同时写上#define endl '\n'
两种方法不要混用,因为在你写上三行代码的同时,虽然提高了cin,cout的速度,但是会导致、
scanf和printf出现Bug,导致输入输出错误

在这里插入图片描述
c++中的输入虽然方便但是读取速度很慢,c语言的虽然麻烦,但是读取速度很快
在这里插入图片描述

输出也是一样
虽然一般时候不会影响 但是有的时候我们用的都是暴力的代码,意味着我们的代码肯定会超时,我们需要尽可能的节约时间,保证很多数据能够在那时间的边界卡过去
在这里插入图片描述

ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);

在这里插入图片描述
用了这三行代码后 cin和cout的速度就会非常快了
在这里插入图片描述
如果此时用c++的endl,这行代码速度会依旧很慢
在这里插入图片描述
应该用C语言的换行代码
在这里插入图片描述
也可以这样,这样编译的时候会把endl替换成’\n’

4 万能头文件:#include<bits/stdc++.h>

在这里插入图片描述

5 提交代码时,会让你选择对应的C++标准,选择的规则:提交时的标准要大于等于你本地编译器中C++的标准

在这里插入图片描述
在这里插入图片描述
如果你的本地编译器是C17那就是17年的标准,向下包含,编译不会错误

但是你选择提交的时候如果选择版本低的 就会出错
在这里插入图片描述
提交时可以选择C17的 选择版本高的比较好
在这里插入图片描述
或者直接就是C++的话那没事了 看着选

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值