一.vs无法使用scanf和printf
在文件最上面加上以下代码即可
#define _CRT_SECURE_NO_WARNINGS
二.最大数的使用
众所周知(bushi)使用最大数时有两个很常用的选择,0x7fffffff和0x3f3f3f3f,那么该如何使用者两个数呢
1.0x7fffffff(7个f)
0x7fffffff的值为2147483647,为int的最大值,可以用于最初值比较,比如
int a=0x7fffffff;
for(int e=0;e<100;e++){
a=min(a,b[e]);
}
但他有一个致命的问题就是,只要加上1,他就会溢出变成负数,所以遇到涉及计算的,推荐使用0x3f3f3f3f
2.0x3f3f3f3f(四个3f)
0x3f3f3f3f的值为1061109567,相对于0x7fffffff来说,他不容易溢出,因为很少有数值能达到10的9次方,所以他加上其他数后还可以保持"无穷大"的效果
三.写long long int太麻烦,怎么直接让int发挥long long int的效果?
代码如下
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
int a;
return 0;
}
这样int a就相当于long long int a,但由于int的定义被改变,所以int main()需要变成signed main()