Skip to content

偷懶方法

定義數字文字/函數

#define nn "\n"
#define N 101
#define all(x) x.begin(),x.end()
#define pii pair<int,int>
#define mul(a,b) (a)*(b)//要括號,不然會有先乘除後加減問題

這是某位大師的寫法

#include <bits/stdc++.h>
#define Weakoying ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
#define int long long
#define ll long long
#define pii pair<int, int>hi
#define vi vector<int>
#define vii vector<pair<int, int>>
#define pqueue priority_queue
#define pb push_back
#define F first
#define S second
// #define max(a, b) (a > b ? a : b)
// #define min(a, b) (a < b ? a : b)
#define cmax(a, b) a = (a > b ? a : b)
#define cmin(a, b) a = (a < b ? a : b)
#define put(x) cout << x << endl;
#define DB(x) cerr << #x << " " << x << endl
#define all(v) v.begin(), v.end()
#define stop system("pause");
#define MEM(x, n) memset(x, n, sizeof(x));
#define lowbit(x) x &(-x)
#define SZ(v) ((int)v.size())
#if !LOCAL
#define endl "\n"
#pragma GCC optimize("Ofast", "unroll-all-loops")
#endif

可以玩玩看這段程式碼

#include <bits/stdc++.h>
using namespace std;

#define stop system("pause");
#define DB(x) cerr << #x << " " << x << endl

int main() {
  for (int i = 0; i < 10; i++) {
    stop
    DB(i);
    cout << "hello";
  }
}

自動輸入

//istream& ss = cin;
#include <bits/stdc++.h>
using namespace std;
int main(){

    istringstream cin("123456");//註解這一行

    string s;
    cin>>s;
    cout<<s;
}

前往->懶人輸入法

定義資料型態、開long long

定義資料型態替代名稱有兩種方式

定義
typedef long long ll;

using ll = long long;
using  pii = pair<int,int>;
範例
#include<bits/stdc++.h>
using namespace std;
using  pii = pair<int,int>;
int main(){
    pii p;
    p.first=5;
    p.second=2;
    cout<<p.first;
}

用#define int long long開 long long

int main()要改成signed main(),因為main函式不能是 long long

範例、輸出
#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
    int a=2147483649;
    cout<<a;
}
2147483649