--- tags: note --- # Taskcase template ## 2021/01/12 ```cpp= #include<iostream> #include<vector> #include<fstream> #include<algorithm> #include<random> using namespace std; inline string utos(const unsigned& x) { return string{char('0' + x / 10), char('0' + x % 10)}; } //#define INFILE main(int, char* argv[]) { string _p(argv[0]); const string problem(/*題號=*/_p, _p.size() - 4); mt19937 mt(/*亂數種子=*/hash<string>()(problem)); vector<pair<int, int>> arr{/*測資參數=*/{0, 0}}; for (size_t t = 0; t != arr.size(); t++) { /*input*/{ fstream fin(problem + "_" + utos(t) + ".in", ios::out); cout.rdbuf(fin.rdbuf()); /*************** -code- ***************/ } #ifdef INFILE /*output*/{ fstream fin(problem + "_" + utos(t) + ".in", ios::in ); fstream fout(problem + "_" + utos(t) + ".out", ios::out); cin.rdbuf(fin.rdbuf()), cout.rdbuf(fout.rdbuf()); /*************** -code- ***************/ } #else /*output*/{ string fin = problem + "_" + utos(t) + ".in"; string fout = problem + "_" + utos(t) + ".out"; system(("_" + problem + " " + fin + " " + fout).data()); } #endif } return 0; } ``` ## ancient ```cpp #include<iostream> #include<vector> #include<fstream> #include<algorithm> #include<random> using namespace std; inline string utos(const unsigned& x) { return string{char('0' + x / 10), char('0' + x % 10)}; } main(int, char* argv[]) { string _p(argv[0]); const string problem(/*題號=*/_p, _p.size() - 4); mt19937 mt(/*亂數種子=*/hash<string>()(problem)); vector<pair<int, int>> arr{/*測資參數=*/}; for (size_t t = 0; t != arr.size(); t++) { /*input*/{ fstream fin(problem + "_" + utos(t) + ".in", ios::out); cout.rdbuf(fin.rdbuf()); /*************** -code- ***************/ } /*output*/{ fstream fin(problem + "_" + utos(t) + ".in", ios::in ); fstream fout(problem + "_" + utos(t) + ".out", ios::out); cin.rdbuf(fin.rdbuf()), cout.rdbuf(fout.rdbuf()); /*************** -code- ***************/ } } return 0; } ```