炒鸡好用的头文件

#include <bits/stdc++.h>

#define F first
#define S second
#define pb push_back
#define NL cout << "
";
#define rep(x,y) for(int i = x;i < y;i++)
#define INF 2147483647
#define M 1000000007
#define MAX 105
#define MOD %
#define NE !=
#define EE ==
using namespace std;

////////////////////////////////////////////////////////////////////////////////////

typedef long long int lld;
typedef pair<int, int> pii;
typedef pair<int, string> pis;
typedef pair<string, string> pss;
typedef vector<int> vi; 
typedef vector<pii> vii;
typedef vector<string> vs;
typedef vector<pis> vis;
typedef set<int> si;
typedef set<pii> sii;
typedef set<pis> sis;
typedef map<int, int> mii;
typedef map<int, string> mis;

////////////////////////|--Global Declarations--|///////////////////////////////////

                    int alpha[26] = {0}, dig[MAX] = {0};

////////////////////////////////////////////////////////////////////////////////////

lld gcd(lld a, lld b)
{
    if (a == 0)
        return b;
    return gcd(b % a, a);
}

lld lcm(lld a, lld b)
{
    return ((a * b) / gcd(a, b));
}

bool isPrime(int n)
{
    if (n <= 1)  
        return false;
    if (n <= 3)  
        return true;
    if (n % 2 == 0 || n % 3 == 0) 
        return false;
    for (int i = 5; i * i <= n; i = i + 6)
        if (n % i == 0 || n % (i + 2) == 0)
           return false;
    return true;
}

void getArr(int a[], int n)
{
    rep(0, n)
        cin >> a[i];
}
void putArr(int a[], int n)
{
    rep(0, n)
        cout << a[i] << " ";
    NL
}

void initAlpha(string s)
{
    int n = s.size();
    rep(0, n)
        alpha[s[i] - 'a']++;
}

void initDigit(int a[], int n)
{
    rep(0, n)
        dig[a[i]]++;
}

bool isPalindrome(string input)
{
     if(input == string(input.rbegin(), input.rend()))
              return true;
        return false;
}


int numLen(int n)
{
 int len =0;
    while(n !=0)
   {
     n /=10;
     len++;
   }
     return len;
}
 
原文地址:https://www.cnblogs.com/Roni-i/p/7590914.html