C++竞赛常见函数(持续更新)

#include<bits/stdc++.h>
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#define _for(i,a,b); for(int i=a,i<b;i++);//宏定义
const int N=1e9;
typedef long long LL;//重命名
using namespace std;//命名空间
string//字符串型变量 可直接比较
struct cmp1{//内嵌排序
    int a,b,c;
    inline bool operator()(cmp1& t1,cmp1& t2){//inline内嵌函数	 operator重载  引用加速
        if(t1.a!=t2.a)return t1.a<t2.a;
        if(t2.b!=t2.b)return t2.b<t2.b;
        return t1.c<t2.c;
    }
};
int _pow(int m,int n)//快速幂
{
	int s=m,sum=0;
	while(n)
	{
		if(n&1)sum*=s;
		s*=s;
		n>>=1;
	}
	return sum;
}
inline ll read(){
    ll num=0,neg=1;char c=getchar();
    while(!isdigit(c)){if(c=='-')neg=-1;c=getchar();}
    while(isdigit(c)){num=(num<<3)+(num<<1)+c-'0';c=getchar();}
    return num*neg;
}
int _gcd(int a,int b)//裴蜀定理
{
	return b==0?a:_gcd(b,a%b);
}
int oula(int n)//欧拉筛
{
	int prime[N], i, j, countnum = 1;
	bool num[N];
	memset(num, true, sizeof(num));
	for (i = 2; i <= n; ++i) {  //i作为本身被筛掉或者作为因子来筛选其他数
		if (num[i]) prime[countnum++] = i;
		for (int j = 1; j < countnum; ++j) {
			if (i*prime[j] > n) break;
			num[i*prime[j]] = false; 
			if (i%prime[j] == 0) break;  
		}
	}
}
int main()
{
	std::ios::sync_with_stdio(false);//取消cin与stdin的同步
	std::cin.tie(nullptr);//接触cin与cout的绑定
	std::cout.tie(nullptr);
	pow(x,n);//x的n次方  结果为double类型 n可为浮点型
	sqrt(n);//开方
	abs(a);//取绝对值
	max(a,b);//返回较大值
	min(a,b);//返回较小值
	sort(a,a+n,cmp);//排序
	sort(a,a+n,cmp());//重载排序
	next_permutation(s,n);//前n位到字典序下一位
	pre_permutation(s,n)//前n位到字典序上一位
	memset(a,0,sizeof(a));//赋初始值
	printf();//标准输出到屏幕
	scanf();//标准输入 
	sprintf();//标准输入到字符串;
	sscanf();//字符串转数组;
	cin;//输入  不读取空字符,空字符可能继续存在于缓存区
	cout;//输出
	putchar();//输出单字符
	getchar();//输入单字符
	gets();//行输入
	cin.get();//行输入 读取换行键并存入
	cin.getline(s,sizeof(s));//行输入,读取换行符并丢弃
	for(int i=a,i<b;i++);//循环
	while(n){}//循环
	isdigit(ch)//判断是否处于'0'-'9'之间
}
scanf("%[^\n]",s);
puts(f?"yes":"no");
printf("%d%c",a,(i!=n-1)?' ':'\n');
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define mp(aa,bb) make_pair(aa,bb)
#define _for(i,b) for(int i=(0);i<(b);i++)
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,b,a) for(int i=(b);i>=(a);i--)
#define mst(abc,bca) memset(abc,bca,sizeof abc)
#define X first
#define Y second
#define lowbit(a) (a&(-a))
#define debug(a) cout<<#a<<":"<<a<<"\n"
typedef long long ll;
typedef pair<int,int> pii;
typedef unsigned long long ull;
typedef long double ld;
const int N=100010;
const int INF=0x3f3f3f3f;
const double eps=1e-6;
const double PI=acos(-1.0);

//const int mod=998244353;

void solve(){
}


int main(){
    ios::sync_with_stdio(0);cin.tie(0);
    int t;cin>>t;while(t--)
    solve();
    return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值