#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdlib>
#include <string>
#include <ctime>
#include <cassert>
#include <climits>
#include <cfloat>
#include <cctype>
//万能头 #include<bits/stdc++.h>
using namespace std;
#define QUICK ios::sync_with_stdio(false), cin.tie(0),cout.tie(0); //quickly! quickly!
typedef long long ll;
typedef unsigned long long ull;
//最大公约数
ll gcd(ll a, ll b)
{
return b > 0 ? gcd(b, a % b) : a;
}
//最小公倍数
ll lcm(ll a, ll b)
{
return a * b / gcd(a, b);
}
//当运算大数(ull:10^19,即int*int)的时候,有时候必须先进行取模运算
//快速幂,用于快速a^b%m,时间复杂度logn
ll binarypow(ll a, ll b, ll m)
{
ll ans = 1;
while (b > 0)
{
if (b & 1)
{
ans = ans * a % m;
}
a = a * a % m;
b = b >> 1;
}
return ans;
}
//取模运算 a * b % p == ( ( a % p ) * ( b % p ) ) % p
//(a/b)%m=(a*(b的逆元))%m=(a%m * (b的逆元)%m)%m
//求解(a/b)%m
ll divition(ll a,ll b,ll m)
{
return (a*binarypow(b,m-2,m))%m;
}
char m[100][100];
//不要弄错i,j,k下标,当算法思想没问题往往都是下标出错了
//标注每个变量的含义
int main()
{
QUICK;
return 0;
}
c++打代码模板
于 2022-11-12 19:46:13 首次发布