炒鸡好用的头文件
#include <bits/stdc++.h> #define F first #define S second #define pb push_back #define NL cout << "\n"; #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; }