万能头:
#include<bits/stdc++.h>
cin加速:
ios::sync_with_stdio(0);
cin.tie(0);
快读:
inline int read()
{
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
return x*f;
}
·Char类型字符串:用scanf输入多个字符串时用空格隔开(即空格不读入),而gets()可以读入一整行(即可以读入空格),输出可以用printf和puts(puts函数会输出一整个字符串加上一个空格)
·String类型:cin输入,遇到空格停止。getline(cin, )则可以读入整行,包括空格。
·三元运算符可以简洁表示递归算法。
·最大公约数除了使用辗转相除法外,还可以用二进制最大公约数法:
int gcd(int m,int n) {
if(m == n)
return m;
if(m < n)
return gcd(n,m);
if(m%2 == 0) {
if(n%2 == 0) return 2*gcd(m/2,n/2);
else return gcd(m/2,n);
}
else {
if(n%2 == 0) return gcd(m,n/2);
else return gcd(n,m-n);
}
}
储存图的方法:1.邻接表2.链式前向星(这里就不放代码了
标签:ch,return,gcd,int,小东西,空格,读入,一些 From: https://www.cnblogs.com/lwiwi/p/18598845