#include <bits/stdc++.h>
#include <time.h>
using namespace std;
#define redir(i, o) { if (i) freopen("a.in", "r", stdin);if (o)freopen("a.out", "w", stdout);}
#define repr(i,a,b) for(int i = a;i < b;++i)
#define DEBUG "L= "<< setw(2)<< __LINE__ << ": "
#ifdef DEBUG
#define print(a) cout<<DEBUG<<#a << ": " <<(a)<<endl
#define prin2(a, b) cout <<DEBUG<<": "<< #a<<": "<< (a)<<" "<<#b<< ": "<<(b)<<endl
#define prinl(a) do{cout<<DEBUG<<endl;int s=min((int)a.size(),16);for(int i=0;i<s;i++)cout<<setw(4)<<i<<" \n"[i==s-1];int num=0;for(auto i:a){cout<<setw(4)<<i<<"\n "[bool(++num%s)];}cout<<endl;}while(0)
#define prinSq(a) do{cout<<"X: ";for(auto i=0;i<a.size();i++){cout<<setw(4)<<i<<" ";}cout<<endl;for(auto i=0;i<a.size();i++){cout<<"Y="<<setw(2)<<i<<": ";for(auto i : a[i])cout<<setw(4)<<i<<" ";cout<<endl;}}while(0)
#define pTime(a) do{cout<<"\n\n";auto t=clock();a;cout<<DEBUG<<"测试结束,消耗"<<clock()-t<<"微秒\n";}while(0)
#else
#define endl "\n"
#define print(a)
#define prin2(a, b)
#define printL(a)
#define prinSq(a)
#define pTime(a) a;
#endif
template<typename T>vector<vector<T>>makeSq(int y, int x, T *init) {
auto ans = vector<vector<T>>(y, vector<T>(x, *init)); delete init; return ans;
}
自定义print函数, redir定输入函数, prinl打印列表, prinSq打印矩阵, makeSq生成二维矩阵
使用示例:
int main() {
int sxh = 705;
print(sxh);
auto sxhSq = makeSq(10,10,new (float));
prinSq(sxhSq);
pTime(auto n = (int)1e5;while(n--););
}