把好久之前写的东西拿出来翻新了一下,主体也懒得改了。
就这样吧(
#include <bits/stdc++.h>
#include <windows.h>
namespace whaleL{
#define MOD (1e9 + 7)
using namespace std;
#define pii pair<int, int>
#define fi first
#define se second
#define ull unsigned long long
#define ll long long
#define B __int128
#define UB __uint128_t
#define db double
#define re return
#define con continue
#define brk break
#define emp emplace
#define emb emplace_back
#define mpr make_pair
#define lwb lower_bound
#define upb upper_bound
#define all(x) x.begin(), x.end()
#define mms(a, b) memset(a, b, sizeof(a))
#define sml(a,b)(a=min(a,b))
#define big(a,b)(a=max(a,b))
#define fo(i,j,n)for(int i=(j);i<=(n);i++)
#define of(i,j,n)for(int i=(j);i>=(n);i--)
#define f(i,n)fo(i,1,n)
#define fr(i,n)of(i,n,1)
#ifdef _WIN32
#define getchar _getchar_nolock
#define putchar _putchar_nolock
#elif __linux__
#define getchar getchar_unlocked
#define putchar putchar_unlocked
#endif
#define isd(c)((c)>47&&(c)<58)
#define iss(c)((c)<33)
#define il inline
#define tln template<typename m>
#define tls template<typename m,typename...ms>
#define getc(c) for(c=getchar();iss(c);c=getchar());
il void sf(){}il void ot(){}il void ut(){putchar('\n');}
tln il void sf(m&x){char f=1,c=getchar();x=0;for(;!isd(c);c=getchar())(c=='-')?f=-1:0;for(;isd(c);c=getchar())x=x*10+c-48;x*=f;}
tln il void ot(m x){x<0?x=-x,putchar('-'):0;static short s[51],t(0);do s[++t]=x%10;while(x/=10);for(;t;)putchar(s[t--]|48);}
il void sf(char&x){getc(x);}
il void ot(char x){putchar(x);}
il void sf(char*x){char c;getc(c);for(;!iss(c);c=getchar())*x++=c;*x=0;}
tln il void ot(m*x){while(*x)putchar(*x++);}
il void sf(string&x){x.clear();char c;getc(c);for(;!iss(c);c=getchar())x=x+c;}
il void ot(string x){printf("%s", x.c_str());}
il void sf(db&x){scanf("%lf", &x);}
il void ot(db x){printf("%lf", x);}
il void sf(long db&x){scanf("%Lf", &x);}
il void ot(long db x){printf("%Lf", x);}
tls il void sf(m&x,ms&...y){sf(x);sf(y...);}
tls il void ot(m x,ms...y){ot(x);ot(y...);}
tls il void ut(m x,ms...y){ot(x);putchar(' ');ut(y...);}
tln il void PC(m*a, m*b){for(;a!=b;cout<<*a++<<' ');ut();}
double LAST_CLOCK__, NOW_CLOCK__;
#ifndef ONLINE_JUDGE
#define err()cout<<"err "<<__LINE__,exit(0)
#define esc()(((clock()/(1.0*CLOCKS_PER_SEC))<=0.88)||(err(),0))
#define bp(x...)((NOW_CLOCK__=(clock()/(1.0*CLOCKS_PER_SEC)))-LAST_CLOCK__>=0.028&&(LAST_CLOCK__=NOW_CLOCK__))&&(p(x),1)
#define p(x...)(cout<<setw(18)<<#x,ot(" Line ",__LINE__," : "),ut(x))
#define pa(a, x...)(cout<<setw(18)<<#a,ot(" Line ",__LINE__," : "),ut(x))
#define po(x,y)(cout<<setw(18)<<#x,ot(" Line ",__LINE__," : "),PC(x,y))
#define g(x...) do{x;}while(0);
#else
#define err()1
#define esc()1
#define bp(x...)1
#define p(x...)1
#define pa(x...)1
#define po(x...)1
#define g(x)
#endif
#ifndef DISFILE
#define file(x) freopen(#x ".in", "r", stdin), freopen(#x ".out", "w", stdout)
#else
#define file(x)
#endif
struct Mod {ull m, b;Mod(ull m):m(m),b(((UB)1<<64)/m){}ull Mods(ull a){ull q=((UB)a*b)>>64;ull r=a-q*m;re r<m?r:r-m;}} Mod(MOD);
#define mod(x) Mod.Mods(1ULL*x)
#define mad(x, y) (x=mod(y+(x)))
};using namespace whaleL;
const int data_N = 1e3 + 233;mt19937 rnd(time(0));
#define rand(l, r) ((rnd() % ((r) - (l) + 1)) + (l))
string data_name, data_is, data_os;
int data_l, data_r;
int data_nm[data_N], data_n;string data_get(int x) {string s = ""; char c; data_n = 0;while(x) {data_nm[++data_n] = x % 10;x /= 10;}fr(i, data_n) {c = char(data_nm[i] + 48);s += c;}re s;
}
char data_c[data_N], data_cn;
void data_addc(string s) {for (int i = 0; i < s.size(); i ++) {data_c[data_cn] = s[i]; data_cn ++;}
}
void data_clear() {for (int i = 0; i < data_cn; i ++) data_c[i] = 0;data_cn = 0;
}const long long N = 2e7;
int n;
void wk() {ofstream ut(data_is);n = 5e4;ut << n << "\n";f(i, n) ut << rand(1, N) << " " << rand(1, N) << " " << rand(1, N) << "\n";ut.close();
}signed main() {cout << "data_name: \n";cin >> data_name;cout << "times:\n";cin >> data_l >> data_r;for (int data_i = data_l; data_i <= data_r; data_i ++) {data_is = data_name + data_get(data_i) + ".in";data_os = data_name + data_get(data_i) + ".out";wk();data_addc(data_name + ".exe < " + data_is + " > " + data_os);system(data_c); data_clear();}return 0;
}